c 中 static 變數和函式能否被子類繼承

2021-08-16 08:32:23 字數 655 閱讀 2817

1.   父類的static變數和函式在派生類中依然可用,但是受訪問性控制(比如,父類的private域中的就不可訪問),而且對static變數來說,派生類和父類中的static變數是共用空間的,這點在利用static變數進行引用計數的時候要特別注意。   

2.   static函式沒有「虛函式」一說。因為static函式實際上是「加上了訪問控制的全域性函式」,全域性函式哪來的什麼虛函式?   

3.   派生類的friend函式可以訪問派生類本身的一切變數,包括從父類繼承下來的protected域中的變數。但是對父類來說,他並不是friend的。

[cpp]

view plain

copy

#include

using

namespace

std;  

class

a  ;  

inta::num=100;  

class

b:public

a    

};  

//int b::num=200;

intmain()    

測試**會發現a、b類中的 num 值相等,然後檢視位址發現位址也相等。所以父類子類指向是同乙個全域性資料區的static變數。此外 如果定義 int b::num=200; 會出現編譯錯誤。

類中static函式能否virtual

關於類中靜態函式能否為虛函式問題,有給出解釋很有道理,與大家共同分享一下 解釋一 oophaisky 首先,從 巨集觀 上來說,static成員函式其實並不算 成員 它相當於在類域中定義了乙個全域性函式 哈哈,好像有點兒自相矛盾,但是相信大家能夠理解 所以static成員函式與物件是沒有 耦合 關係...

static 變數和static 函式

在c語言程式設計中,static的乙個作用是資訊遮蔽!比方說,你自己定義了乙個檔案 該檔案中有一系列的函式以及變數的宣告和定義!你希望該檔案中的一些函式和變數只能被該檔案中的函式使用,那麼,你可以在該函式 變數的前面加上static,代表他們只能被當前檔案中的函式使用!而在c 中,用static來作...

Static 變數和Static函式

static變數和static函式 一 static 變數static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期.2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫.3.用於類中的成員.表示這個成員是屬於這個類但是不屬...