【发布时间】:2012-12-09 01:47:15
【问题描述】:
我现在面临的情况是,我希望派生类根据条件(在 C++03 中)从 Base1 或 Base2 继承。这意味着,我想实现类似:
// pseudo-C++ code
class Derived : public
if(condition) Base1 // inherit from Base1, if condition is true
else Base2 // else inherit from Base2
{ /* */ };
这可能不是一个好的设计,但现实世界并不完美。
我已经在这里搜索了答案,但我不想使用预处理器指令Problems with ifdef based inheritance in C++。
我还能如何做到这一点?
【问题讨论】:
-
在没有在这里找到“与社区分享我的知识”后,想解释为什么投反对票?
-
en.cppreference.com/w/cpp/types/conditional (但我真的看不出在这里投反对票的理由。我希望你已经彻底阅读了链接问题的所有答案。)
-
我可以理解对答案的反对意见,但为什么反对这个问题呢?看起来如果我只是问了这个问题而不回答它,我就不会得到任何反对票(我什至可能得到 upvotes)。我真的不知道
std::conditional,无论是在这里还是在网上搜索conditional inheritance from either of two base classes都没有找到,请问有什么问题? -
由于这里有很多其他问题的重复,我认为您最好将其删除。我没有看到对社区的好处。
标签: c++ inheritance c++03