類中的靜態類成員變數

2021-10-09 22:57:26 字數 1469 閱讀 6886

// myobj.h

#pragma once

#include using namespace std;

class cmyobj

~cmyobj()

};

// account.h

#ifndef account_h

#define account_h

#include class cmyobj;

class account

account(const std::string &s, double amt) :

owner(s), amount(amt)

public:

static void releasemyobj();

private:

std::string owner;

double amount = 0.0;

static cmyobj* m_pstaticmyobj;

static cmyobj* initmyobj();

};#endif

// account.cpp

#include "account.h"

#include "myobj.h"

#include #include using namespace std;

cmyobj* account::m_pstaticmyobj = initmyobj();

cmyobj* account::initmyobj()

void account::releasemyobj()

}

// staticobjectdemo.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include "account.h"

#include // namespace for using cout.

using namespace std;

/* 靜態類成員變數演示 */

int _tmain(int argc, _tchar* ar**)

編譯環境:microsoft visual c++ 2013

程式輸出:

[account::initmyobj()]

[cmyobj::cmyobj()]

int __cdecl wmain(int,wchar_t *)

cmyobj::~cmyobj()

分析說明:c++類中,對於靜態類成員變數,會在定義靜態類成員變數時生成物件(如果會生成物件的話),對於本例,在下面的語句中,生成了物件。

// account.cpp

cmyobj* account::m_pstaticmyobj = initmyobj();

類中的靜態成員變數 靜態成員函式

類中的靜態成員變數 靜態成員函式?1 類中的靜態成員變數 靜態成員變數屬於整個類,不屬於某個特定的物件,因此無論建立了多少個物件,所有物件都共享類中的靜態成員變數。靜態成員變數必須在類內宣告,類外初始化。2 類中的靜態成員函式 靜態成員函式也是屬於類本身,而不屬於某個特定的物件。靜態成員函式與普通成...

類的靜態成員變數

通過物件名能夠訪問public成員變數,每個物件的成員變數都是專屬的,成員變數不能再物件之間共享,先來看乙個例子 include class test test intgetcount test gtest intmain 結果 sice sice g a.c sice sice a.out cou...

類的靜態成員變數

新需求 統計在程式執行期間某個類的物件數目 保證程式的安全性 不能使用全域性變數 隨時可以獲取當前物件的數目 incldue class test test intgetcount test gtest intmain 輸出結果為 1 1 1,沒有達到使用者需求!每個成員都擁有乙個變數,不是公共的,...