類和物件—物件特性—靜態成員函式
阿新 • • 發佈:2020-12-18
靜態成員函式
- 所有物件共享同一個靜態成員函式
- 靜態成員函式只能訪問靜態成員變數
#include <iostream>
using namespace std;
class Person{
public:
static void func(){
m_A = 100; //靜態成員函式可以訪問靜態成員變數
// m_B = 200; //靜態成員函式不可以訪問非靜態成員變數 無法區分到底是哪一個物件的 m_B
cout << "static void func的呼叫" << endl;
}
static int m_A; //靜態成員變數
int m_B; //非靜態成員變數
private:
//靜態成員函式也是有訪問許可權的
static void func2(){
cout << "static void func2的呼叫" << endl;
}
};
int Person::m_A = 0;
void test(){
//兩種呼叫方式
//1、通過物件訪問
Person p;
p.func();
//2、通過類名訪問
Person::func();
// Person::func2(); //類外訪問不到私有靜態成員函式
}
int main (){
test();
return 0;
}