派生填寫抽象類成員比方說,我有一個從另一個接口繼承(純抽象類)從具體的類
class BaseInterface
{};
然後另外一個接口是建立在BaseInterface
class ExtendedInterface : public BaseInterface
{};
現在的界面,我有一個實現BaseInterface的具體類:
class Base : public BaseInterface
{};
現在,我想來實現ExtendedInterface,但是因爲我已經有了Base我想用Base來填充BaseInterface成員。例如:
class Extended : public ExtendedInterface, public Base
{};
這似乎不起作用。我收到抱怨,因爲它是一個抽象類,所以我不能實例化擴展。我可以通過使用虛擬繼承來實現它,唯一的方法就是使用虛擬繼承,但是隨後我得到了關於通過支配繼承的編譯器警告。