1樓:程式猿3號
我先說一下我對你的意思的理解,b和c繼承於a,class a ;
class b : public a
class c : public a
是這樣嗎?
乙個類的繼承,比如a作為父類,b、c要繼承於它,那為什麼用a作為父類呢,是因為a能提煉出bc的共同之處,b、c繼承a,那麼它們就要有a所有屬性,這樣才有繼承的意義,不然完全沒有關係的兩個類使用繼承,沒有這個必要。
2樓:馬雲飛
如果你是聚合,這樣寫沒問題。按照設計模式來說是乙個視窗模式。
但是還有一種方法可以完成。只不過這個是多繼承。
b,c類相互絕緣。a共有繼承b,c。這樣a同時擁有b,c共同的屬性及方法。
不過具體情況具體看,類的設計見仁見智。條條大路通羅馬而已。
class a
int geta()
protected:
int a ;
};class b
int getb()
protected:
int b ;
};class c
: public a
, public b
;void main()
3樓:匿名使用者
我看你這不像是繼承的關係,應該是瓶子這個類包含有瓶蓋和瓶身2個物件。。
所以你想在瓶子的成員函式中得到瓶底的直徑長度。。
所以在double getlength()const;方法中直接返回m_ppingshen->getlength();
我覺得沒有問題
4樓:匿名使用者
a類定義所有介面,b|c分別實現這些介面
5樓:匿名使用者
這個組合問題,樓主用法沒有問題。
C類的問題
a pa1,pa2 定義了兩個a類的指標pa1,pa2可以呼叫類a的所有方法,換句話說,他們就是類a的例項化。pa1 new a 3.0,5.0 初始化pa1,這時候會呼叫類a的建構函式a float a,float b 也就是說,在pa1這個指向類a的例項中,成員變數x 3,y 5相當於初始化賦值...
關於C 類的問題。。急,關於C 類别範本的問題。。急
過載錯誤,不能區別2個過載函式 templateconst t array operator size t index const 加上const就能區別了 給你個例子 include using namespace std class a void fun int b void fun int b...
C 關於類(vector)的問題
你的 沒什麼大問題,只是有兩個地方需要修改一下,如下 見註釋 include include include using namespace std 只需要使用此句就可以了 using std cin using std cout using std endl using std string us...