c++構造函數調用的三種方式


一、括號法

Person p;//注意:對於調用無參構造函數不能加括號,如:Person p();原因是c++會將此代碼視為一個函數聲明,參考函數聲明,如:int test();

Person p(10);//調用有參構造

二、顯式法

Person p=Person(10);//調用有參構造

Person p1=Person(p);//調用拷貝構造

注意:1、Person(參數)單獨寫表示生成了一個匿名對象,當前行結束后,該對象立即析構

           2、不能利用拷貝構造函數,初始化一個匿名對象,編譯器認為是一個對象聲明,例如Person(p),編譯器會將括號刪除,直接表示為 Person p;

三、隱式法

Person p=10;//轉換為顯式法:Person p=Person(10)

person p1=p;//轉換為顯式法:Person p1=Person(p)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM