[求助看一下可以吗
											
#include <iostream>
using namespace std;
class SuperVar
{
 enum
 {
  character,
  integer,
  floating_point
 }vartype;
 union
 {
  char c;
  int i;
  float f;
 };
public:
 SuperVar(char ch);
 Supervar(int ii);
 Supervar(float ff);
 void print();
};
SuperVar::SuperVar(char ch)
{
 vartype = character;
 c = ch;
}
SuperVar::SuperVar(int ii)
{
 vartype = integer;
 i = ii;
}
SuperVar::SuperVar(float ff)
{
 vartype = floating_point;
 f = ff;
}
.....
书上这么说:尽管SuperVar现在来说是安全的,但是,他的用途却有点值得怀疑,因为使用union的首要目的是为了节省空间,而增加vartype占用
了union中很多与数据有关的空间(为什么说vartype占用了uinon的空间呢?),所以节省的空间就差不多就被抵消了。
xie xie



											
	    

	

