1、在另一个类内部定义一个类,这样的类是嵌套类。
2、在其类外部定义的嵌套类成员,必须定义在定义外围类的同一作用域中,在其类外部定义的嵌套类的成员,不能定义在外围类内部,嵌套类的成员不是外围类的成员。
3、嵌套类可以直接引用外围类的静态成员、类型名和枚举成员。
4、联合(union)是一种特殊的类,一个union对象可以有多个数据成员,但在任何时刻,只有一个成员可以有值。为union对象分配的存储的量至少与包含其最大数据成员的一样多。
5、union也可以定义成员函数,包括构造函数和析构函数,但union不能作为基类使用,所有成员函数不能为虚函数。union不能具有静态数据成员或引用成员,而且union不能具有定义了构造函数、析构函数或赋值操作符的类类型的成员。
6、不用于定义对象的未命名union称为匿名联合,匿名union的成员的名字出现在外围作用域中。匿名union不能有私有成员或受保护成员,也不能定义成员函数。
7、可以在函数体内部定义类,这样的类称为局部类。局部类只能访问在外围作用域中定义的类型名、static变量和枚举成员,不能使用定义该类的函数中的变量。
本文深入探讨了C++中的嵌套类与联合的概念,解释了如何在一个类内部定义另一个类(嵌套类),以及如何在内存中有效地组织数据(联合)。通过具体的例子,展示了嵌套类可以直接引用外围类的静态成员、类型名和枚举成员的特点,同时介绍了联合作为一种特殊类的作用和限制。
1万+

被折叠的 条评论
为什么被折叠?



