48 繼承中靜態成員的處理

2021-09-26 05:41:14 字數 722 閱讀 9191

繼承中靜態成員的處理

類似非靜態成員函式處理

如果想訪問父類中的成員,加作用域即可

靜態成員函式和非靜態成員函式的共同點:

1.    他們都可以被繼承到派生類中。

2.    如果重新定義乙個靜態成員函式,所有在基類中的其他過載函式會被隱藏。

3.    如果我們改變基類中乙個函式的特徵,所有使用該函式名的基類版本都會被隱藏。

靜態成員函式不能是虛函式(virtual function)

main.cpp

#define _crt_secure_no_warnings

#includeusing namespace std;

class base

static void func(int a)

static int m_a;

};int base::m_a = 10;

class son :public base

static int m_a;

};int son::m_a = 20;

//靜態成員屬性 子類可以繼承下來

void test01()

int main()

輸出

son::m_a====20

base::m_a====10

son fun()

base fun(int)

C 繼承中靜態成員的處理

include using namespace std 繼承中靜態成員的處理 類似非靜態成員的處理 class base static void func int a static int m a int base m a 10 靜態變數,類內宣告,類外初始化 class son1 public b...

C 繼承類靜態成員處理

class a public static string name 父類靜態函式 public static void add cout 列印小明 class b public a 繼承父類a public static string name 父類同名靜態屬性 public static void...

繼承同名靜態成員處理方式

問題 繼承中同名的靜態成員在子類物件上如何進行訪問?靜態成員和非靜態成員出現同名,處理方式一致。1.訪問子類同名成員 直接訪問即可 2.訪問父類同名成員 需要加作用域 include using namespace std 繼承中的同名靜態函式處理方式 class base static void ...