預見建構函式

2022-02-06 20:08:32 字數 1860 閱讀 9327

建構函式的作用:對乙個類的物件進行初始化。

建構函式的名字:與類名相同。

建構函式的特點:不具有任何型別,不返回任何值。在建立類的物件的時候系統會自動呼叫建構函式,如果使用者沒有定義建構函式,系統會自定義乙個什麼都不做的建構函式。只能執行一次,一般宣告為public。

用建構函式實現資料成員的初始化。(不帶型別的建構函式)

stu.h:

#ifndef stu_h

#define stu_h

#include #include using namespace std;

class stu

;#endif

stu.cpp:

#include "stu.h"

#include #include using namespace std;

stu::stu() //類名 + 域限定符

void stu::display() //成員函式 display

main.cpp

#include "stu.h"

#include #include using namespace std;

int main()

用建構函式實現資料成員的初始化。(帶型別的建構函式)

a.h:

#ifndef a_h

#define a_h

class a

;#endif // a_h

a.cpp:

#include "a.h" // class's header file

#include using namespace std;

a::a(int pla)

void a::display()

main.cpp:

#include "a.h" // class's header file

#include #include #include using namespace std;

int main()

用函式初始化列表對資料成員進行初始化

p.h:

#ifndef p_h

#define p_h

#include #include using namespace std;

class p

; //初始化列表

注:如果private內有陣列的話,不能使用初始化列表,得在建構函式的函式體中用操作語句對其進行宣告。

class p

void display();

};

建構函式 拷貝建構函式 賦值建構函式

class和struct很大乙個區別在於,c除了成員的訪問控制許可權,struct中的成員預設是public,而class中的field預設是private class還有乙個special的地方是它有建構函式 constructor。建構函式是class中的一員,和成員變數 其他成員函式一起構成乙...

構造函式呼叫建構函式

題目如下 問下列 的列印結果為0嗎?include stdlib.h include iostream using namespace std struct clscls int main 列印結果是不定的,不一定為0 奇怪的地方在於建構函式中呼叫了自己的另乙個建構函式 我們知道,當定義乙個物件時,...

建構函式 拷貝建構函式

建構函式可以分為三類 1 不帶引數的建構函式 在函式體中對資料成員賦初值,這種方式使該類的每乙個物件都得到同一組初值 2 帶引數的建構函式 如果使用者希望對不同的物件賦不同的初值,可以採用帶引數的建構函式。在呼叫不同物件的建構函式時從外面將不同的資料傳遞給建構函式,以實現初始化 3 複製建構函式 建...