我希望你能幫助我解決以下問題。 我正在嘗試創建一個靈活的接口系統並遇到問題。 這是相關代碼:定義多個衍生接口成員
// Interface 1
// this: virtual f_a
// -> abstract
struct I_A abstract
{
virtual void f_a() = 0;
};
// Interface 2
// I_A : virtual f_a
// this: virtual f_b
// -> abstract
struct I_B abstract : public I_A
{
virtual void f_b() = 0;
};
// Implementation 1
// I_A : virtual f_a
// zhis: defines f_a
// -> not abstract
struct S_A : public I_A
{
virtual void f_a() {}
};
// Implementation 2
// I_B : virtual f_a
// I_B : virtual f_b
// S_A : defines f_a
// this: defines f_b
// -> not abstract
struct S_B : public I_B, public S_A
{
virtual void f_b() {}
};
因爲編譯器指出它是抽象的,我不能實例S_B。 有什麼不對?
可能的重複http://stackoverflow.com/questions/11662890/inherit-from-multiple-partial-implementations-of-an-abstract-base-class/11662963#11662963 – juanchopanza 2012-08-12 10:55:21