我有一個類Grandparent
,它是由庫提供的。我想定義的Grandparent
子類的接口,所以我創建了一個名爲Parent
抽象類:將抽象類的參數傳遞給祖父類的構造函數
class Grandparent {
public:
Grandparent(const char*, const char*);
};
class Parent : public Grandparent {
public:
virtual int DoSomething() = 0;
};
爲Grandparent
的構造函數有兩個參數。我想我的孩子上課,Child
,也有兩個參數的構造函數,而只是通過這些給構造爲Grandparent
...像
class Child : public Parent {
public:
Child(const char *string1, const char *string2)
: Grandparent(string1, string2)
{}
virtual int DoSomething() { return 5; }
};
當然,Child
的構造函數不能調用其祖父類的構造函數,只有它的父類的構造函數。但由於Parent
不能有一個構造函數,我怎樣才能將這些值傳遞給祖父母的構造函數?
爲什麼你認爲'Parent'不能有一個構造函數? – 2012-02-28 02:22:30