真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)-創(chuàng)新互聯(lián)

構(gòu)造函數(shù)是類中特殊的成員函數(shù)。

在和平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,和平網(wǎng)站建設(shè)費用合理。

  創(chuàng)建類類型的新對象的,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)。

  構(gòu)造函數(shù)的調(diào)用是為了保證每個數(shù)據(jù)成員都能被正確初始化。

  構(gòu)造函數(shù)的作用初始化。

  通常情況下,構(gòu)造函數(shù)應(yīng)聲明為公有函數(shù),構(gòu)造它不能像其他成員函數(shù)那樣被顯式的調(diào)用。

  構(gòu)造函數(shù)被聲明為私有有特殊的用途。

  構(gòu)造函數(shù)可以有任意類型和任意個數(shù)的參數(shù),一個類可以有多個構(gòu)造函數(shù)。

   如果程序未聲明構(gòu)造函數(shù),默認(rèn)會生成一個空的構(gòu)造函數(shù)。

   不帶參數(shù)的構(gòu)造函數(shù)稱為默認(rèn)構(gòu)造函數(shù)。

  如果有一個構(gòu)造函數(shù),系統(tǒng)不再生成默認(rèn)構(gòu)造函數(shù)

Test.h

  1. //Test.h
  2. # ifndef _TEST_H_
  3. # define _TEST_H_
  4. class
  5. public如果程序未聲明構(gòu)造函數(shù),默認(rèn)會生成一個空的構(gòu)造函數(shù)
  6. private
  7. int
  8. # endif //_TEST_H_

Test.cpp

  1. //Test.cpp
  2. # include "Test.h"
  3. # include 
  4. usingnamespace
  5. "Initializing Default "

main.cpp

  1. # include 
  2. # include "Test.h"
  3. usingnamespace
  4. intvoid
  5. return

 運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

 //   如果有一個構(gòu)造函數(shù),系統(tǒng)不再生成默認(rèn)構(gòu)造函數(shù)

Test.h

  1. //Test.h 
  2. # ifndef _TEST_H_ 
  3. # define _TEST_H_ 
  4.  
  5. class Test 
  6. public: //如果程序未聲明構(gòu)造函數(shù),默認(rèn)會生成一個空的構(gòu)造函數(shù)
  7.     Test(int num); 
  8. private: 
  9.     int num_; 
  10. }; 
  11.  
  12. # endif //_TEST_H_ 

Test.cpp

  1. //Test.cpp 
  2. # include "Test.h" 
  3. # include  
  4. using namespace std; 
  5.  
  6. Test::Test(int num) 
  7.     num_ = num; 
  8.     cout << "Initializing " << num_  << endl; 

main.cpp

  1. # include  
  2. # include "Test.h" 
  3. using namespace std; 
  4.  
  5. int main(void) 
  6. { //自動調(diào)用構(gòu)造函數(shù)
  7.     Test t(10); 
  8.  
  9.     return 0; 

 運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

構(gòu)造函數(shù)重載的實例:

Test.h

  1. //Test.h 
  2. # ifndef _TEST_H_ 
  3. # define _TEST_H_ 
  4.  
  5. class Test 
  6. public: //如果程序未聲明構(gòu)造函數(shù),默認(rèn)會生成一個空的構(gòu)造函數(shù)
  7. Test();
  8.     Test(int num); 
  9. private: 
  10.     int num_; 
  11. }; 
  12.  
  13. # endif //_TEST_H_ 

Test.cpp

  1. //Test.cpp 
  2. # include "Test.h" 
  3. # include  
  4. using namespace std; 
  5.  
  6. Test::Test()
  7. {
  8. num_ = 0;
  9.     cout << "Initializing default "  << endl; 
  10.  
  11. Test::Test(int num) 
  12.     num_ = num; 
  13.     cout << "Initializing " << num_  << endl; 

main.cpp

  1. # include  
  2. # include "Test.h" 
  3. using namespace std; 
  4.  
  5. int main(void) 
  6. { //自動調(diào)用構(gòu)造函數(shù)
  7.     Test t1;
  8. Test t2(10); 
  9.  
  10.     return 0; 

 運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

 構(gòu)造函數(shù)與new運算符

  1. //構(gòu)造函數(shù)與new運算符
  2. # ifndef _TEST_H_
  3. # define _TEST_H_
  4. class
  5. public
  6. ////可以顯式的寫一個默認(rèn)構(gòu)造函數(shù),這樣兩個函數(shù)就成了重載
  7. int
  8. //析構(gòu)函數(shù)不能重載
  9. //析構(gòu)函數(shù)不能帶參數(shù),如果帶參數(shù)就可以重載
  10. void
  11. private
  12. int
  13. # endif 

Test.cpp

  1. # include "Test.h"
  2. # include 
  3. usingnamespace
  4. void
  5. "Initializing Default"
  6. int
  7. "Initializing "
  8. "Destory "

main.cpp

  1. # include 
  2. # include "Test.h"
  3. usingnamespace
  4. intvoid
  5. //不僅僅分配了內(nèi)存,還調(diào)用了構(gòu)造函數(shù)
  6. new//new operator
  7. //不僅僅釋放了內(nèi)存,也調(diào)用了析構(gòu)函數(shù)     
  8. delete
  9. return

運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

//全局對象的構(gòu)造先于main函數(shù)

  1.  
  2. # ifndef _TEST_H_ 
  3. # define _TEST_H_ 
  4.  
  5. class Test 
  6. public: 
  7.     ////可以顯式的寫一個默認(rèn)構(gòu)造函數(shù),這樣兩個函數(shù)就成了重載 
  8.     Test(); 
  9.     Test(int num); 
  10.     //析構(gòu)函數(shù)不能重載 
  11.     //析構(gòu)函數(shù)不能帶參數(shù),如果帶參數(shù)就可以重載 
  12.     ~Test(); 
  13.     void Display(); 
  14. private: 
  15.     int num_; 
  16. }; 
  17.  
  18. # endif  

Test.cpp

  1. # include "Test.h" 
  2. # include  
  3. using namespace std; 
  4.  
  5. void Test::Display() 
  6.     cout << num_ << endl; 
  7. Test::Test() 
  8.     num_ = 0; 
  9.     cout<<"Initializing Default" << endl; 
  10.      
  11. Test::Test(int num) 
  12.     num_ = num; 
  13.     cout<<"Initializing "<
  14.  
  15. Test::~Test() 
  16.     cout << "Destory " << num_ << endl; 

main.cpp

  1. # include "Test.h"
  2. usingnamespace
  3. //全局對象的構(gòu)造先于main函數(shù)
  4. intvoid
  5. "Entering main ..."
  6. "Exiting  main ..."
  7. return

運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

  默認(rèn)析構(gòu)函數(shù)是一個空函數(shù)

  析構(gòu)函數(shù)沒有參數(shù)

  析構(gòu)函數(shù)不能被重載

  析構(gòu)函數(shù)與數(shù)組

Test.h

  1. //Test.h
  2. # ifndef _TEST_H_
  3. # define _TEST_H_
  4. class
  5. public
  6. ////可以顯式的寫一個默認(rèn)構(gòu)造函數(shù),這樣兩個函數(shù)就成了重載
  7. int
  8. //析構(gòu)函數(shù)不能重載
  9. //析構(gòu)函數(shù)不能帶參數(shù),如果帶參數(shù)就可以重載
  10. void
  11. private
  12. int
  13. # endif //_TEST_H_

Test.cpp

  1. //Test.cpp
  2. # include 
  3. # include "Test.h"
  4. usingnamespace
  5. void
  6. "Initializing Deafule "
  7. int
  8. "Initializing "
  9. "Destory "

main.cpp

  1. //main.cpp
  2. # include 
  3. # include "Test.h"
  4. usingnamespace
  5. intvoid
  6. //定義對象數(shù)組
  7. //動態(tài)對象
  8. new//傳遞參數(shù)2
  9. delete
  10. //沒有傳遞任何參數(shù),創(chuàng)建了兩個對象
  11. new
  12. delete
  13. return

運行結(jié)果:

C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)

  析構(gòu)函數(shù)不能重載

  析構(gòu)函數(shù)不能帶參數(shù),如果帶參數(shù)就可以重載

  析構(gòu)函數(shù)可以顯式調(diào)用,一般很少用到,會實現(xiàn)一些特殊的效果:

  1. //main.cpp
  2. # include "Test.h"
  3. intvoid
  4. //析構(gòu)函數(shù)被調(diào)用了兩次
  5. //析構(gòu)函數(shù)很少調(diào)用,可以顯式調(diào)用
  6. return

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁題目:C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的學(xué)習(xí)(一)-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/jcpie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部