【发布时间】:2014-02-22 16:58:00
【问题描述】:
考虑这个代码示例:
class Base
{
public:
Base() {}
};
class Derived1 : public Base
{
public:
Derived1() : Base() {}
};
class Derived2 : public Base
{
public:
Derived2() : Base() {}
};
有没有什么可以使 Derived1 has-a Derived2 和 Derived2 has-a Derived1?
最好的解决方案是使用具有这两个对象的第三类。但万一需要高性能呢?
一个示例可能是双向客户端-服务器应用程序。
编辑:认为这只是一个摘要示例。在实际代码中,这三个类中的每一个都可能引发异常;不过,我确保代码是异常安全的。
【问题讨论】:
-
请更具体地说明您要完成的工作。
-
为什么第四个对象会降低性能?
-
@BrianBi,我认为他希望这两个类要么相互继承,要么包含另一个类?
-
在第一篇中补充:够了吗?
-
@EdHeal 你是不是漏掉了一个否定句?
标签: c++ oop inheritance composition