4
這是++(從cprogramming.com複製)用C虛擬繼承的經典例子:虛擬繼承的其他選擇?
class storable
{
public:
storable(const char*);
virtual void read();
virtual void write();
virtual ~storable();
private:
// some data...
};
class transmitter : public virtual storable
{
public:
void write();
...
};
class receiver : public virtual storable
{
public:
void read();
...
};
class radio : public transmitter, public receiver
{
public:
...
};
我以前也使用過這種方法對類似的層次結構,但是,我感興趣的是找出什麼其他選擇呢我們有這個具體的例子。在這種情況下,我們如何取代虛擬繼承?使用某種形式的作文? Mixins?
還是虛擬繼承的確是最好的辦法?
我正在就如何更具體地提出建議。在網上搜索過,沒有在這個問題上找到太多。我仍然很想知道更多...... – glampert 2014-08-28 18:29:01
或者,如果你們認爲它可能更適合[programmers.stackexchange](http://programmers.stackexchange.com/)... – glampert 2014-08-28 18:36:01
在網上搜索「鑽石繼承「,你會看到根本原因和幾個解決方案。 – 2014-08-28 18:56:25