C++的類(2)

來源:互聯網
上載者:User

標籤:

_C++_Primer_Plus_chap10_

_看到一篇很好的博文介紹這個的,不過我還是碼一點筆記當作加深印象吧_

linker:_bloger_wid_學習C++ -> 建構函式與解構函式_

 1.什麼是建構函式?

建構函式是一種特殊的方法,主要用來在建立對象時為對象成員初始化賦值。

其存在的意義,方便初始化賦值,避免另闢函數去做這件事。

→建構函式與其他方法的區別 :

1.建構函式的命名必須和類名完全相同;而一般方法則不能和類名相同.
2.建構函式的功能主要用於在類的對象建立時定義初始化的狀態.它沒有傳回值,也不能用void來修飾.這就保證了它不僅什麼也不用自動返回,而且根本不能有任何選擇.而其他方法都有傳回值.即使是void傳回值,儘管方法體本身不會自動返回什麼,但仍然可以讓它返回一些東西,而這些東西可能是不安全的.
3.建構函式不能被直接調用,必須通過new運算子在建立對象時才會自動調用,一般方法在程式執行到它的時候被調用.
4.在對象被建立時自動執行.

2.一個簡例
 1 #include<iostream> 2 #include<string> 3  4 using namespace std; 5  6 class Anime 7 { 8      9     public:10         Anime()  //一個建構函式,與class名相同,初始化私人變數name1,name2. 11         {12                 name1="Akashi";13                 name2="Kuroko";14         }15         void print()16         {17             cout<<"no.1: "<<name1<<‘\n‘18                 <<"no.2: "<<name2<<‘\n‘;19         }20     21     private:    22         string name1;23         string name2;24         25 };26 27 int main()28 {29     30     Anime basketball;31     basketball.print();32 33     return 0;34     35 }

運行結果:

建構函式可以顯式調用和隱式調用.

 →什麼是顯式調用和隱式調用?

...大概有點印象,但找了半天沒找到能說明白的解釋,先暫置吧。

 

 

>>not_end

 

C++的類(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.