C++面向物件入門(五)建構函式和解構函式
阿新 • • 發佈:2020-08-09
建構函式
特點:
1,無返回值, 但是不需要宣告返回值型別為void
2,函式名與類名相同
3,可以過載, 可以有引數
4.在建立物件時編譯器自動呼叫, 例項化一個物件只調用一次
解構函式
特點:
1,無返回值, 不需要宣告返回值型別為void
2,函式名為類名前加~
3,不能接收引數, 不可以過載
4,在銷燬物件前由編譯器自動呼叫, 銷燬一個物件只會呼叫一次
#include <iostream> using namespace std; class Person{ public: /** * 建構函式 * 特點: * 1,無返回值, 但是不需要宣告返回值型別為void * 2,函式名與類名相同 * 3,可以過載, 可以有引數 * 4.在建立物件時編譯器自動呼叫, 例項化一個物件只調用一次 */ Person(){ cout << "Person類的建構函式Person()被呼叫!" << endl; } /** * 解構函式 * 特點: * 1,無返回值, 不需要宣告返回值型別為void * 2,函式名為類名前加~ * 3,不能接收引數, 不可以過載 * 4,在銷燬物件前由編譯器自動呼叫, 銷燬一個物件只會呼叫一次*/ ~Person(){ cout << "Person類的解構函式~Person()被呼叫!" << endl; } }; void testConstructorAndDestructor(){ Person p1; } int main() { // testConstructorAndDestructor(); Person p; //output: //Person類的建構函式Person()被呼叫! //Press any key to continue . . . system("pause"); return 0; }