我在头文件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派生的。我将如何解决这个问题?
谢谢, 埃里克
答案 0 :(得分:0)
您需要在头文件中声明A
例如Ah并将该文件包含到B.cpp和C.cpp中,如果inline
中有一些非A
函数,则在A
声明中定义的函数是隐式inline
)你应该创建A.cpp,同时包含Ah并在A.cpp中定义这些函数
答案 1 :(得分:0)
创建文件A.h
创建文件A.cpp并包含A.h(如果需要)
创建文件B.h和C.h
在两者中加入A.h
分别在A.h,B.h,C.h 中定义A,B,C类
分别在A.cpp,B.cpp和C.cpp 中写出A,B和C类的成员函数
创建主文件并包含B.h和C.h
在主文件中实例化B和C的对象