1

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

class A{};

在 A.cpp 我有几个子类:

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

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

class B;
class C;

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

谢谢,埃里克

4

2 回答 2

0

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

于 2013-04-29T15:51:00.973 回答
0

创建文件啊

创建文件 A.cpp 并包含 Ah(如果需要)

创建文件 Bh 和 Ch

两个都包括啊

分别在 Ah,Bh,Ch 中定义 A,B,C 类

分别在A.cpp、B.cpp、C.cpp中写出A、B、C类的成员函数

创建一个主文件并包含 Bh 和 Ch

在主文件中实例化 B 和 C 的对象

于 2013-04-29T16:04:52.830 回答