C++程式設計方法3:類中的靜態成員

來源:互聯網
上載者:User

標籤:通過   共用   狀態   程式設計   常量   main   不能   nbsp   any   

在類型前面加static修飾的資料成員,是隸屬於類的,成為類的待用資料成員,也稱為“類的變數”

待用資料成員被該類的所有對象共用(即所有對象中的這個資料域實際上處於同一個記憶體位置)

待用資料要在實現檔案中賦初值,格式為:

Type ClassName::static_var = Value;

傳回值類型前面加static修飾的成員函數,稱為靜態成員函數,它們不能調用非靜態成員函數;

 

類的靜態成員(資料,函數)既可以通過對象來訪問,也可以通過類名字類訪問;

#include <iostream>using namespace std;class Test{    static int count;public:    Test() { count++; }    ~Test() { count--; }    static int how_many() { return count; }};int Test::count = 0;void print(Test t){    cout << "tests:" << t.how_many() << endl;}int main(){    Test t1;    cout << "test#" << Test::how_many() << endl;    Test t2 = t1;    cout << "test#" << Test::how_many() << endl;    print(t2);    cout << "test#" << t1.how_many() << "," << t2.how_many() << endl;
   return 0;}

 

類中的常量成員

使用const修飾的資料成員,稱為類的常量資料成員,在對象的整個生命週期內不可以更改;

常量資料成員只能在建構函式的初始化列表中被設定,不允許在函數中通過賦值來設定;

 

若用const修飾成員函數,則該成員函數在實現時不能修改類的資料成員, 即函數體中不能有改變對象狀態的語句;

 

若對象被定義為常量,則它只能調用以const修飾的成員函數,其他成員函數不允許調用;

 

C++程式設計方法3:類中的靜態成員

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.