gpt4 book ai didi

c++ - 甚至在创建该类之前声明一个对象

转载 作者:可可西里 更新时间:2023-11-01 16:52:21 34 4
gpt4 key购买 nike

在 C++ 中创建类之前是否需要先声明类的对象?我问是因为我正在尝试使用两个类,第一个需要在其中包含第二个类的实例,但第二个类也包含第一个类的实例。我意识到您可能认为我可能会陷入无限循环,但实际上我需要在第一个类之前创建第二个类的实例。

最佳答案

你不能这样做:

class A {
B b;
};
class B {
A a;
};

最明显的问题是编译器不知道创建类 A 需要多大,因为 B 的大小取决于 A 的大小!

但是,您可以这样做:

class B; // this is a "forward declaration"
class A {
B *b;
};
class B {
A a;
};

将类 B 声明为前向声明允许您使用指向该类的指针(和引用)而无需整个类定义。

关于c++ - 甚至在创建该类之前声明一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/113385/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com