C 類的組織問題

時間 2022-04-16 11:05:07

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...