我有一个类A
,两个类,B
和C
,继承自A
.
除了来自 的方法之外A
,每个类都提供不同的东西,因此,我想将它们放在两个不同的文件中——b.hpp
而且c.hpp
,因为它们是具有内联函数的模板。
我也有一个 class User
,同时使用B
和C
classes。在user.cpp
,我应该有一些接近:
# include "b.hpp"
# include "c.hpp"
class User{
...;
};
这会引发编译器重新定义错误,因为我同时保留了类B
和C
.bc.hpp
除了编程错误之外,这里的担忧是相当美观的:我只是觉得在小型应用程序中使用指令不是很优雅ifdef / ifndef
——在我看来,它们总是像 IDE 的解决方案一样,用于管理太多模块的人,甚至不知道指令。
是否有任何(甚至是非标准的,但至少是理智的)解决方法,或者我是否必须坚持在同一个文件中有两个不同的类并使用ifdef / ifndef
?