1,概念
如果一个类定义在另一个类的内部,这个内部类就叫做内部类。内部类是一个独立的类,它不属于外 部类,更不能通过外部类的对象去访问内部类的成员。外部类对内部类没有任何优越的访问权限。重点:内部类是一个独立的类
注意:内部类就是外部类的友元类,参见友元类的定义,内部类可以通过外部类的对象参数来访问外部类中的所有成员。但是外部类不是内部类的友元。即内部类可以访问外部类,但外部类不能访问内部类。
2.特性
(1)内部类可以定义在外部类的public、protected、private都是可以的。
(2)注意内部类可以直接访问外部类中的static成员,不需要外部类的对象/类名。
(3) sizeof(外部类)=外部类,和内部类没有任何关系。
举个栗子
对上面的案例进行分析
1.B类始终是声明在A类里面的,所以虽然B类是独立于A类之外的,但在定义B类的时候,依然要突破A类域。如下:
2.B类是A类的内部类,B是可以去访问A类的成员变量的,static变量与普通成员变量都可以。
如下:
main
B类
A类