首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我们不能在同一个类中声明一个类的对象呢?

为什么我们不能在同一个类中声明一个类的对象呢?
EN

Stack Overflow用户
提问于 2011-02-09 13:26:46
回答 6查看 12.7K关注 0票数 15
代码语言:javascript
复制
class A
{
  A a;//why can't we do this
};
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-02-09 13:32:53

你可以做到

代码语言:javascript
复制
class A {
    A* a;
}

因为它不需要知道A的大小。

票数 22
EN

Stack Overflow用户

发布于 2011-02-09 13:28:57

因为类的大小是无限的。

(这是通过指定不能将不完整的类型作为成员,只能引用或指向它们的指针,并且指定A在类定义结束之前是不完整的类型来实现的。)

票数 22
EN

Stack Overflow用户

发布于 2011-02-09 13:32:04

我猜你是从Java还是别的什么地方来的?A a将创建一个A类型的完整实例,它包含A,它包含A,它包含A

你可能在想这个问题:

代码语言:javascript
复制
class A
{
  A *a; // A pointer to A, not a full instance
};
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4941629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档