c++中的類和物件_靜態成員
阿新 • • 發佈:2022-04-11
在類的定義中,它的成員包括(成員變數、成員函式),都可用static修飾成靜態成員
不管類建立了多少個物件,靜態成員都只有一個拷貝這個拷貝屬於中國類的物件的共享
靜態成員變數:
1、記憶體中只有一份,多個物件共用一塊記憶體
2、類內只能定義不能初始化(限定作用域)定義在全域性
3、可通過物件和作用域訪問
靜態成員函式:
1、可訪問靜態成員變數不能訪問普通成員變數
2、可通過作用域及物件呼叫函式
const修飾的靜態全域性變數:
1、儲存在常量區不可修改,可在類內定義並且初始化
2、可通過作用域訪問、物件訪問,靜態成員函式也可訪問
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
class person{
public :
static int a; //類內只能宣告
const static b=0;
static void show(){
cout<<a<<endl;
cout<<b<<endl;
}
};
int person::a=10;
void test01(){
cout<<person::a<<endl; //通過作用域訪問靜態成員變數
person p1;
p1.a=100; //共用一塊記憶體
cout<<p1.a<<endld //通過物件呼叫靜態成員變數
person::show();
p1.show():
}
test02(){
person p1;
cout<<p1.b<<endl;
cout<<person::b<<endl;
}
int main(){
return 0;
}