C 建構函式

2021-10-02 19:43:51 字數 580 閱讀 6778

1.建構函式的3種型別 無參test(); 有參 test(int a,int b);複製建構函式 test(const test2& obj)

#includeclass test2

#includeclass test3

{public:

test3() //無參建構函式

{ m_a = 0;

m_b = 0;

std::cout <<"這是無參建構函式" <4.如3中的g()稱之為匿名物件:

如果用匿名物件初始化乙個同型別的物件,則匿名物件被「扶正」,不會被析構器析構

eg: test m = g()

如果匿名物件賦值給乙個同型別的物件,則匿名物件會被析構

eg: test3 m2(1,2); m2 = g();

5.如果在類定義中寫了複製構造器,則編譯器不會再為類生成乙個無參構造器,如果定義了有參構造器時,編譯器也不會提供乙個無參的建構函式。總之,在定義類時只要寫了建構函式就一定要用。

如果在呼叫時呼叫的是乙個有參或copy型別的建構函式 eg:test obj1(「abcd0」),但是在開始時並沒有定義這種型別的構造器,則系統就會報錯。

C 建構函式 拷貝建構函式

建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...

C 構造器(建構函式)

定義和作用 構造器是在構建類的 引用時 自動執行的方法。所以,每個類都必須至少要有乙個構造器。在訪問乙個類的時候,編譯器最先執行構造器中的 它與類同名,帶引數的構造器能夠獲取引數,但是與方法不同的是 構造器雖然也是一種 例項型別 即必須通過例項來進行呼叫,也可以稱之為引用型別 但是卻不能返回任何值 ...

C 建構函式

建構函式是一種特殊的成員函式,它主要用於為物件分配儲存空間,對資料成員進行初始化.1 建構函式的名字必須與類同名 2 建構函式沒有返回型別,它可以帶引數,也可以不帶引數 3 建構函式的主要作用是完成對類的初始化工作 4 在建立乙個類的新物件 使用new關鍵字 時,系統回自動呼叫給類的建構函式初始化新...