1、建構函式constructor
(1)建構函式的名字必須與類名相同;
(2)建立物件時自動呼叫的,且僅執行一-次 ;
(3)public ,無返回值,無需定義返回型別;
(4)允許過載,可以定義多個
(5)盡量簡單,太複雜、包含大量邏輯處理的
(6)初始化工作建議用單獨的init()方法實現
(7)避免物件建立時出錯
this是乙個指標 ,指向物件自己
2、預設建構函式
在沒有定義任何建構函式時,編譯器會提供乙個預設建構函式
·無引數,無任何**
.一旦定義了任意乙個建構函式,
·就不提供預設建構函式
3、拷貝建構函式
下列語句發生時,會執行拷貝建構函式:
這是物件需要通過另外乙個物件進行初始化的一種情況
teacher t2 = t1;
teacher t3(t2);
4、析構函式
·函式的反函式
·格式public ~time();
·無引數、無返回值
·不允許過載(只能有乙個)
·銷毀時自動呼叫,處理資源清理工作
**:
teacher.h
#include #include using namespace std;
class teacher;
teacher.cpp
#include "stdafx.h"
#include "teacher.h"
#include #include using namespace std;
teacher::teacher(const teacher &tea) //拷貝建構函式
teacher::teacher()//無引數建構函式
}teacher::teacher(string n, int a)//有引數建構函式
teacher::~teacher()//析構函式
}void teacher::setname(string _name)
string teacher::getname()
void teacher::setgender(string _gender)
string teacher::getgender()
void teacher::setage(int _age)
int teacher::gerage()
main.cpp
#include #include #include "teacher.h"
using namespace std;
int _tmain(int argc, _tchar* argv)
C 建構函式 拷貝構造 析構函式
建構函式 constructor 在例項物件時,系統自動呼叫,用來初始化物件的資料成員 建構函式宣告語法 類名 引數列表 建構函式注意點 include include using namespace std class computer 上面的建構函式也可以寫成引數列表初始化的形式 compute...
C 建構函式 析構函式 拷貝建構函式
建構函式 析構函式 拷貝建構函式 如果類成員變數有初始值,用這些初始值初始化成員變數 如果類成員變數沒有初始值,則預設初始化該成員變數 class student int main 使用注意事項 語法 這個預設建構函式之所以對student有效,是因為我們為內建型別的資料成員提供了初始值 如果你的編...
建構函式 拷貝建構函式 析構函式
1.如果定義了兩個預設建構函式,vc只回給出warning.2.如果有預設引數的預設構造,如果你給了第乙個預設的話 所有傳遞引數都要有預設植 否則報錯.不過如果是第乙個引數的預設值沒有給出的話,編譯器卻看不出問題,但是沒有 試過這種情況建構函式能不能正常工作.建構函式 用來初始化物件的資料成員,與類...