當前位置:
首頁 >
类和对象—对象特性—函数的分类和调用
發(fā)布時間:2025/4/5
25
豆豆
生活随笔
收集整理的這篇文章主要介紹了
类和对象—对象特性—函数的分类和调用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
構造函數(shù)的分類及調(diào)用
兩種分類方式:
按參數(shù)分類分為:有參構造和無參構造
按類型分類分為:普通構造和拷貝構造
三種調(diào)用方式
括號法
顯示法
隱式轉換法
匿名對象
特點:當前行執(zhí)行結束后,系統(tǒng)會立即回收掉匿名對象
Person類:
測試:
Person(10); //匿名對象 特點:當前行執(zhí)行結束后,系統(tǒng)會立即回收掉匿名對象 cout << "aaaaa" << endl;輸出結果:
可以看到aaaaa在析構函數(shù)的調(diào)用之后,說明匿名函數(shù)在這一行之后立即釋放
example
#include <iostream> using namespace std;//按照參數(shù)分類 有參構造(默認構造) 無參構造 //按照類型分類 普通構造 拷貝構造 class Person{ public://構造函數(shù) Person(){cout << "Person 無參構造函數(shù)的調(diào)用!" << endl; }Person(int a){age = a;cout << "Person 有參構造函數(shù)的調(diào)用!" << endl; }//拷貝構造函數(shù)Person(const Person &p){age = p.age ;//將傳入的person的屬性拷貝到我身上 cout << "Person的拷貝構造函數(shù)的調(diào)用!" << endl;} //析構函數(shù)~Person(){cout << "Person 析造函數(shù)的調(diào)用!" << endl; } int age; };//調(diào)用 void test01(){// 1、括號法 // Person p1;//默認構造函數(shù)的調(diào)用 // Person p2(10);//有參構造函數(shù)的調(diào)用 // Person p3(p2); //拷貝構造函數(shù)的調(diào)用 //注意事項:調(diào)用默認構造函數(shù)的時候不要加() //因為下面這一行代碼,系統(tǒng)會認為是一個函數(shù)的聲明,不會認為是在創(chuàng)建對象 // Person p1() ; // cout << "p2的年齡為: " << p2.age << endl; // cout << "p3的年齡為: " << p3.age << endl;//2、顯示法Person p1;Person p2=Person(10); //有參構造Person p3=Person(p2); //拷貝構造 // Person(10); //匿名對象 特點:當前行執(zhí)行結束后,系統(tǒng)會立即回收掉匿名對象 // cout << "aaaaa" << endl; //注意事項2:不要用拷貝構造函數(shù)來初始化匿名對象//編譯器會認為 Person(p3) == Person p3;// Person(p3); //3、隱式轉換法Person p4 = 10;//相當于寫了 Person p4 = Person(10); //有參構造Person p5 = p4;//拷貝構造函數(shù)的調(diào)用 } int main(){test01(); system("pause");return 0; }總結
以上是生活随笔為你收集整理的类和对象—对象特性—函数的分类和调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类和对象—对象特性—构造函数和析构函数
- 下一篇: 类和对象—对象特性—拷贝构造函数调用时期