用联合也可以定义类。在C++中,联合可包含函数和变量,还可包含构造函数和析构函数。C++的联合保留了所有C的特性,其中最重要的是让所有的数据成员共享相同的存储地址。与类和结构相比,联合可节省存储空间。与结构相似,联合中缺省的存取级别是共有的。
使用C++联合时,必须注意几个问题:
1)联合不能继承其它任何类型的类;
2)联合不能是基类,不能包含虚成员函数;
3)静态变量不能成为联合的成员;
4)如果一个对象有构造函数和析构函数,那么它不能成为联合的成员;
5)如果一个对象有重载操作符“=”,那么它也不能成为联合的成员。