gpt4 book ai didi

c++ - 转发声明一个子类

转载 作者:太空宇宙 更新时间:2023-11-04 14:07:42 25 4
gpt4 key购买 nike

我在头文件 A.h 中有一个基类 A

class A{};

在 A.cpp 中我有几个子类:

class B: public A{};
class C: public A{};

我想在单独的文件中实例化类型 B 和 C,但除非我在我的其他文件中包含 A.cpp,否则我看不到如何实现。如果我像这样在 A.h 中转发声明 B 和 C:

class B;
class C;

那么实例化类不知道它派生自A。我该如何解决这个问题?

谢谢,埃里克

最佳答案

您需要在头文件中声明 A,例如 A.h 并将该文件包含到 B.cpp 和 C.cpp 中,如果您在中有一些非 inline 函数A(在 A 声明中定义的函数是隐式内联)你应该创建 A.cpp,在那里也包含 A.h 并在中定义这些函数A.cpp

关于c++ - 转发声明一个子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282865/

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