C 學習筆記20 類的組合

2021-09-26 05:51:31 字數 1048 閱讀 2702

定義:乙個類內嵌其他類的物件作為成員的情況,他們之間的關係是一種包含與被包含的關係。

組合類的建構函式設計

當建立類的物件時,如果這個類具有內嵌物件成員,那麼各個內嵌函式物件將首先被自動建立。

在建立物件時既要對本類的基本型別資料成員進行初始化,又要對內嵌物件進行初始化。

類名::類名(形參表):內嵌物件1(形參表),內嵌物件2(形參表),...

構造組合類物件時的初始化次序

首先對建構函式初始化列表中列出的成員(包括基礎型別成員和物件成員),次序為成員在類體中定義的次序。

處理完初始化列表後,再執行建構函式的函式體。

//4_4.cpp

#include #include using namespace std;

class point

point(point &p);

int getx()

int gety()

private:

int x, y;

};point::point(point &p)

//類的組合

class line

private: //私有資料成員

point p1, p2; //point類的物件p1,p2

double len;

};//組合類的建構函式

line::line(point xp1, point xp2) : p1(xp1), p2(xp2)

//組合類的複製建構函式,帶有初始化列表將l.p1賦值給p1

line::line (line &l): p1(l.p1), p2(l.p2)

//主函式

int main()

前向引用宣告

類應該先宣告,後使用。如果需要在某個類的定義之前引用該類,則應進行前向引用宣告。前向引用宣告只為程式引入乙個識別符號,但具體說明在其他地方。

class 類名;//類名處為需要前向宣告的類名
注:

c 學習筆記(20)

string字串比較 比較方式 字串比較是按字元的ascii碼進行對比 返回0 返回1 返回 1 函式原型 int compare const string s const int compare const char s const void test1 elseif str1.compare s...

C 類的組合

c 中類的組合 c 中,乙個類包含另乙個類,它的建構函式的執行順序可以說是難點也是重點,最近抽空學習了下,總結如下 先拿何潔月教授上課的例子說明 class point 函式的實現 class distance 類宣告 函式的實現 類組合的建構函式設計 原則 不僅要對本類中的基本型別成員資料賦初值,...

C 類的組合

1 組合 乙個大類中包含很多子類 class funa class funb class fun 2 組合類的建構函式 當給乙個組合類傳引數時,同時要給子類傳參。關鍵要理解為什麼這麼做?一般情況下,資料成員會定義為類的私有成員,那麼函式成員需要用到本類的私有成員,實現某些功能,外部無法改變,那麼就需...