c++嵌套类、局部类

一 嵌套类(又称嵌套类型):

(1)定义在一个类内部的类称为嵌套类。

(2)嵌套类的特性:

*嵌套类是独立类,基本上与外围类不相关,因此嵌套类和外围类的对象是相互独立的。嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类定义的成员。

*嵌套类的名字在其外围类的作用域中可见,但在其它类作用域或定义外围类的作用域中不可见。嵌套类的名字将不会与另一作用域中的名字冲突。

*外围类对嵌套类的成员没有特殊访问权,并且嵌套类对其外围类的成员也没有特殊访问权。

*嵌套类定义其外围类的一个类型成员,像任何其它成员一样,外围类决定对这个类型的访问。


二 联合:节省空间的类。

(1)联合:是一种特殊的类。

*一个union对象可以由多个数据成员,但在任何时候,只有一个成员可以有值。

*当将一个值赋给union对象的一个成员的时候,其它所有都变成未定义的。

*每个union对象的大小在编译时固定:至少与union的最大数据成员一样大。

*union可以定义成员函数,包括构造函数和析构函数。但是,union不能作为基类使用,所以成员函数不能为虚。

*union不能具有静态数据成员或引用成员,而且不能定义类类型成员。


三 局部类:

(1)局部类:在函数体内部定义的类。

*一个局部类定义了一个类型,该类型只在定义它的局部作用域中可见。

*局部类的所有成员必须完全定义在类定义内部,因此,局部类不如嵌套类有用。

*局部类只能访问在外围作用域中定义的类型名、static变量和枚举成员,不能使用定义该类的函数中的变量。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值