91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++--類的靜態成員變量

發布時間:2020-08-06 14:46:16 來源:網絡 閱讀:1506 作者:淡淡_小孩 欄目:編程語言

一.成員變量的回顧

1.通過對象名能夠訪問public成員變量
2.每個對象的成員變量都是專屬的
3.成員變量不能在對象之間共享
Q:新的需求
1.統計在程序運行期間某個類的對象數目
2.保證程序的安全性(不能使用全局變量)
3.隨時可以獲取當前對象的數目
代碼示例

#include <iostream>
using namespace std;

class Test
{
private:
    int mCount;
public:
    Test() : mCount(0)
    {
        mCount++;
    }
    ~Test()
    {
        --mCount;
    }
    int getCount()
    {
        return mCount;
    }
};

Test gTest;

int main()
{
    Test t1;
    Test t2;

    cout<<"gTest.getCount()="<<gTest.getCount()<<endl;
    cout<<"t1.getCount()="<<t1.getCount()<<endl;
    cout<<"t2.getCount()="<<t2.getCount()<<endl;

    return 0;
}

運行結果如圖所示
C++--類的靜態成員變量
出現該結果的原因是定義的mCount在每個對象構造時單單獨生成,所以輸出的Count個數也為1

二.靜態成員變量

A.在C++中可以定義靜態成員變量
1.靜態成員變量屬于整個類所有
2.靜態成員變量的生命期不依賴于任何對象
3.可以通過類名直接訪問公有靜態成員變量
4.所有對象共享類的靜態成員變量
5.可以通過對象名訪問公有靜態成員變量
B.靜態成員變量的特性
1.在定義時直接通過static關鍵字修飾
2.靜態成員變量需要在類外單獨分配空間
3.靜態成員變量在程序內部位于全局數據區
語法規則:Type ClassName:VarName=value
代碼示例

#include <iostream>
using namespace std;

class Test
{
private:
    static int mCount;
public:
    Test() 
    {
        mCount++;
    }
    ~Test()
    {
        --mCount;
    }
    int getCount()
    {
        return mCount;
    }
};

int Test::mCount=0;

Test gTest;

int main()
{
    Test t1;
    Test t2;

    cout<<"gTest.getCount()="<<gTest.getCount()<<endl;
    cout<<"t1.getCount()="<<t1.getCount()<<endl;
    cout<<"t2.getCount()="<<t2.getCount()<<endl;

    return 0;
}

運行結果如圖所示
C++--類的靜態成員變量
小結:
1.類中可以通過static關鍵定義靜態成員變量
2.靜態成員變量隸屬于類所有
3.每一個對象都可以訪問靜態成員變量
4.靜態成員變量在全局數據區分配空間
5.靜態成員變量的生命期為程序運行期

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桓仁| 宁国市| 炉霍县| 九龙城区| 日喀则市| 沈丘县| 星子县| 隆化县| 高雄市| 海伦市| 吉隆县| 特克斯县| 牡丹江市| 临洮县| 司法| 克拉玛依市| 抚州市| 普定县| 永年县| 望谟县| 武鸣县| 甘孜县| 丹凤县| 罗平县| 衡阳县| 宜良县| 蒲江县| 福鼎市| 静安区| 洛南县| 来安县| 四子王旗| 高雄县| 班戈县| 汤阴县| 靖宇县| 青铜峡市| 定州市| 福泉市| 道真| 洪泽县|