class student
{private:
student a;//错误!
student *b;//正确!
static student c;//正确!
}
请解释一下原因,谢谢
请解释下这三个的各自的原因,
C++中为什么类中自身类的对象不能做自己的数据成员,但是做静态数据成员、引用类数据成员等可以?
答案:4 悬赏:0
解决时间 2021-11-11 22:25
- 提问者网友:若相守£卟离
- 2021-11-10 23:56
最佳答案
- 二级知识专家网友:白日梦制造商
- 2021-11-11 01:20
类定义中不能包含自己本身的对象,否则会引起像无限递归的问题,而静态成员属于类,而不属于对象,静态成员的作用域属于类,但不占类的大小,不属于类的对象,内存在全局存储区。
全部回答
- 1楼网友:为你轻狂半世殇
- 2021-11-11 03:51
因为类还没定义完整不能实例化
- 2楼网友:woshuo
- 2021-11-11 02:19
构造函数递归调用,无穷无尽
- 3楼网友:丢不掉的轻狂
- 2021-11-11 01:56
b 静态成员属于类,不属于每一个对象实例。看一下内存的分布:代码区,数据区(堆栈 堆 常量 等)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯