程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ Primer Plus學習筆記之靜態成員

C++ Primer Plus學習筆記之靜態成員

編輯:C++入門知識

C++ Primer Plus學習筆記之靜態成員

關鍵字static可以用來說明一個類的成員(包括數據成員和成員函數),這樣的成員被稱為靜態成員; 1,靜態數據成員 在一個類中,若將一個數據說明前加上static,則該數據成為靜態數據,靜態數據成員被該類的所有對象共享。無論建立多少個該類的對象,都只有一個靜態數據存儲空間; 具體語法如下: 類型名 類名::靜態數據成員[=常量表達式] 其中,常量表達式用於初始化類的靜態數據成員; 靜態數據成員屬於類,而不屬於對象,因為靜態成員的存在是不依賴於某個具體的對象的。在這個意義下,在類對象不存在的情況下,我們也可以訪問到類的靜態成員。
2,靜態成員函數 與靜態數據成員一樣,靜態成員函數屬於類而不是某個類對象;因此在類外調用一個共有的靜態數據成員函數,不需要指明對象或者指向對象的指針,具體方式為: 類名::靜態成員函數名(參數列表) 一般使用靜態成員函數來訪問靜態數據成員; 若在靜態成員函數中要訪問非靜態成員時,必須明確地指明該靜態成員函數在哪個對象上操作,必須需要通過對象或者指向對象的指針進行,因此需要類類型作為靜態成員函數的參數類型(出非使用全局對象);
#include

using namespace std;

class Integer
{
	public:
		void Display();
		static void Fun(int num1,int num2,Integer *ptr);
	private:
		int member_int;
		static int static_int;
};

int Integer::static_int=0;

void Integer::Fun(int num1,int num2,Integer *ptr)
{
	//member_int=num1;   錯誤,不知對哪個對象上的member_int進行操作
	ptr->member_int=num1;//正確
	static_int=num2;//正確
}

void Integer::Display()
{
	cout<<"member_int="<
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved