C++可以在类中定义一个类吗?

比如像下面这样:
图片说明

c++
0

7个回答

完全可以
注意:内部类可以访问外部类的私有成员,外部类不能访问内部类的私有成员!

2
zuishikonghuan
zuishikonghuan 回复篮子悠悠: 谁说不行的,我要是拿出来一个没有友元就能访问的你怎么说= =
接近 4 年之前 回复
u013078616
篮子悠悠 内部类可以访问外部类的私有成员?误人子弟,嵌套只是结构上的,外部类必须声明内部类为友元,不然和2个类分开些没有什么区别
接近 4 年之前 回复

可以,嵌套类有以下性质:

一、**可见性**
嵌套类对于外围类:

嵌套类仅仅是声明在外围类内部的类型,而不是外围类的成员

外围类不具备嵌套类所定义的成员

对于外围类来说,嵌套类和其他的类没有任何区别;外围类能访问嵌套类对象的public成员,不能访问嵌套类对象的protected及private成员

外围类对于嵌套类

嵌套类不具备外围类所定义的成员

嵌套类能访问外围类的public成员,不能访问外围类的protected及private成员

嵌套类对于外围类外部的作用域

无论嵌套类声明为public、protected还是private,嵌套类对于外围类任何成员可见

当嵌套类在外围类中声明为public时,对外围类之外的作用域可见,外围类之外的作用域可通过“::”访问嵌套类;

当嵌套类在外围类中声明为protected或private时,对外围类之外的作用域不可见

二、**继承性**

1.下面列出了嵌套类在基类中三种访问属性和继承的三种方式共9总组合,继承之后嵌套类在派生类中的访问属性

表

2.结合1和上文的“可见性”就可得出当派生类作为嵌套类的外围类,嵌套类和外围类之间,嵌套类和外围类之外的作用域之间的可见性了;

1

可以呀,就像在结构体里申明结构体一样,不过好像通常不这样用。

0

嵌套类的概念,相当于一个内部类。

0

可以的,不过看起来比较别扭

0

可以 不过这样可读性不是很好

0

在成员函数里面或在所属的类中,可以定义该成员函数的对象吗?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!