兩個類只要其一完蛋,就全完蛋了!
類的組合其實描述的就是在乙個類裡內嵌了其他類的物件作為成員的情況,它們之間的關係是一種包含與被包含的關係。簡單說,乙個類中有若干資料成員是其他類的物件。
如果在乙個類中內嵌了其他類的物件,那麼建立這個類的物件時,其中的內嵌物件也會被自動建立。因為內嵌物件是組合類的物件的一部分,所以在構造組合類的物件時不但要對基本資料型別的成員進行初始化,還要對內嵌物件成員進行初始化。
其實,組合(有時候叫聚合)是將乙個物件(部分)放到另乙個物件裡(組合),它是一種 has-a 的關係。
注意事項:#include #include using namespace std;
class cperson
~cperson()
void showinf()
};
class cstudent
~cstudent()
void initcperson(cperson person)
void showinf()
};
int main()
一開始先在類中定義被引用類的物件,此時無需初始化,初始化工作全權交由所在類的建構函式執行。
組合類的建構函式形式如下:
解析組合技巧
解析組合的主要思想是利用數學分析的方法來分析組合物件的性質,主要用於 組合類 的計數問題,它的最基本形式類似初等組合數學裡面的母函式方法。我們考察如下問題 考慮乙個n 2 邊的凸多邊形 m 每個頂點標註為0 n 1 逆時針 乙個三角剖分是將 m 分為一系列內部不相交的三角形。問 有多少種剖分方法?這...
類與繼承舉例。
1 編寫乙個圓類circle,該類擁有 乙個成員變數 radius 私有,浮點型 存放圓的半徑 兩個構造方法 circle 將半徑設為0 circle double r 建立circle物件時將半徑初始化為r 三個成員方法 double getarea 獲取圓的面積 double getperime...
類的組合(類的包含)
1.組合關係 2.繼承關係 1.封閉類 類a的資料成員 公有或私有 是類b的物件,這一形式是類的組合,類a就叫做封閉類 2.物件成員 類a的資料成員 公有或私有 是類b的物件,則該資料成員叫做物件成員 例如 include include using namespace std class poin...