gpt4 book ai didi

c++ - 错误使用前向声明?

转载 作者:行者123 更新时间:2023-11-30 03:31:14 25 4
gpt4 key购买 nike

有时我对嵌套类使用前向声明:

class A;

class B
{
private:
A* object_A;
public:
B(){}
};

问题:如果我现在使用类 B 的前向声明(B 在此时声明和定义)用于类 C 中的使用,会发生什么?这是否会导致类 B 出现任何问题,因为它已定义(通过方法的实现等)但与类 C 的前向声明一起使用?以下代码片段中的语法 class B; 是否以某种方式覆盖了先前声明、定义和实现的类 B

class B;

class C
{
private:
B* object_B;
public:
C(){}
};

最佳答案

Does the syntax class B; in the following code-snippet overwrites somehow the previous declared, defined and implemented class B?

前向声明与覆盖无关。它只是向编译器提示类型定义已在某处实现。对于用户定义的指针类型,编译器不需要定义,但需要知道对象的类型。

关于c++ - 错误使用前向声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350451/

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