不同抽象鹼基多重繼承想象C++從與同一純虛方法
class A
{
public: virtual void f() = 0;
};
class B
{
public: virtual void f() = 0;
};
class C : public A,B
{
public: virtual void f()
{ // implementation here
}
};
C c();
這似乎編譯。 (沒有嘗試編譯我的例子,但更復雜的現實生活場景)。
我有點驚訝它確實編譯實際。 我會抱怨(關於C的實例化),因爲我只實現了抽象基本方法之一。 (儘管它們有相同的名字)
這樣的工作是否像我期望的那樣(假設函數f在兩個基數中都具有相同的含義)還是存在任何陷阱?
可能複製:[C++繼承自mult具有相同虛擬函數名稱的iple基類](http://stackoverflow.com/questions/18398409/c-inherit-from-multiple-base-classes-with-the-same-virtual-function-name) – roalz
請忽略C c();語法錯誤。我的意思是以任何方式實例化C類的對象。 – Scrontch