建構函式的作用:對乙個類的物件進行初始化。建構函式的名字:與類名相同。
建構函式的特點:不具有任何型別,不返回任何值。在建立類的物件的時候系統會自動呼叫建構函式,如果使用者沒有定義建構函式,系統會自定義乙個什麼都不做的建構函式。只能執行一次,一般宣告為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 複製建構函式 建...