建構函式是特殊的成員函式,只要建立類型別的新物件
,都要執行建構函式。
一般的計算階段
: 建構函式體內的所以語句構成
成員的初始化次序
與建構函式內賦值操作區別
類通常應定義乙個預設建構函式
使用預設建構函式
類成員的顯式初始化
#include #include using namespace std;
class book
book(const book &book):
isbn(book.isbn),price(book.price)
book& operator=(const book &book)
private:
string isbn;
double price;
};class mytest
mytest():
books("0-990-09",2.2),num(0.0)
/*mytest(const book &book)
*/private:
book books;
double num;
};int main()
建構函式初始化列表呼叫的是類
相匹配的建構函式:
create book===
book::init
create test===
book::copy
mytest::init:
create test1===
book::init
mytest::()
建構函式內賦值操作首先呼叫類預設建構函式初始化物件,然後在呼叫賦值建構函式進行賦值操作:
修改建構函式為
mytest(const book &book)
create book===
book::init
create test===
book::init
mytest::init
book::=
create test1===
book::init
mytest::()
C 筆記之建構函式
以下部分截圖取自慕課網相關課程 建構函式在物件例項化是被自動呼叫 建構函式與類同名 建構函式沒有返回值 建構函式可以有多個過載形式 例項化物件時僅用到乙個建構函式 建構函式的引數可以有預設值,如果建構函式也使用類外定義,那麼在函式實現部分不用寫預設值,這一點和普通類外定義函式的預設值是一樣的 當使用...
C 學習筆記 建構函式
在建立某個類的物件時,由於對該物件的狀態 資料 不很明確,因此需要對其進行初始化。例如,我們要在長方形中建立乙個物件,或者說新建乙個長方形,那麼我們首先要確定它的長和寬,假如我們無法確定它的長和寬,那麼我們是無法構造出乙個長方形來的。例如,我們要構造乙個長方形,由於建構函式要在建立新物件時使用,因此...
C 學習筆記之建構函式(一)預設建構函式
定義 在未提供顯式的初始值時,用來建立物件的建構函式。舉例 class testclass private int m a int m b public testclass 預設建構函式1 testclass int a,int b 建構函式 testclass int a 10,int b 5 預...