首页新闻找找看学习计划

类的数据成员

0
[待解决问题]

为什么定义类的数据成员时只有其他类的对象才可以作为该类的成员,而自身类的对象不可以作为自身类的成员存在?为什么自身类的指针又可以了

C++
harryy的主页 harryy | 菜鸟二级 | 园豆:202
提问于:2020-01-22 09:00
< >
分享
所有回答(4)
0

成员变量,成员变量,本质上是变量,不是数据类型。建议你好好去看看书吧

winslam | 园豆:188 (初学一级) | 2020-01-22 11:06
0

你能够用父类子类来实现这个啊,关键是要单一化,不能自身定义吧。。。

lzhdim | 园豆:654 (小虾三级) | 2020-01-24 18:13
0

反过来想一想,如果这样可行的化,就会造成空间申请的死循环了吧,因为类的对象初始化的时候需要申请空间的,这样迭代下去,空间会不停的申请。例如:

class A{
A a;
};
A testa;

对象testa在初始化时是需要为每个成员变量初始化申请空间,这样的话:

  1. testa.a就需要初始化
  2. testa.a在初始化时,又需要初始化自己的成员变量a,也就是testa.a.a
  3. testa.a.a
  4. ...
笔默纸言 | 园豆:210 (菜鸟二级) | 2020-03-10 12:05

而指针之所以可以,是因为它就是个指针,占四字节,都是明确的,指针初始化为null,这样就好了,而不需要迭代下去

支持(0) 反对(0) 笔默纸言 | 园豆:210 (菜鸟二级) | 2020-03-10 12:06
0

类中的成员包含自己,就需要无穷的内存,比如类的名称叫A,那么A中有对象A,A中的A又要有A,这样会无限循环下去的,跟函数中没有其他代码而只是调用自己递归是一个道理

fenggwsx | 园豆:235 (菜鸟二级) | 2020-07-10 16:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册