當子類與父類出現同名的成員,如何通過子類物件,訪問到子類或者父類中同名的資料
訪問子類同名成員,直接訪問即可
訪問父類同名成員,需要加作用域
同名靜態物件與函式的訪問有兩種方式#include
using
namespace std;
class
base
void
func()
};class
son:
public base
void
func()
};void
test01()
//成員屬性重名
void
test02()
//成員函式重名
intmain()
基類(父類):base
子類:son
靜態變數:a
物件:s1
子類靜態變數的訪問:
1.通過物件訪問同名靜態變數
語法:物件.變數
例:s1.a
2.通過類名訪問同名靜態變數
語法:子類名::變數
例:son::a
父類靜態變數的訪問:
1.通過物件訪問同名靜態變數
語法:物件.父類名::變數
例:s1.base::a
2.通過類名訪問同名靜態變數
語法:子類名::父類名::變數
例:son::base::a
靜態函式訪問方式同理,完整例程如下:
#include
using
namespace std;
class
base};
int base::a =
100;
class
son:
public base};
int son::a =
200;
void
test01()
void
test02()
intmain()
}
C 繼承學習筆記
派生類從基類繼承了保護 protected 成員和公有 public 成員函式,但是繼承不了基類的過載建構函式。定義乙個如下基類 class counter counter operator counter n void reset int getcount int getnum counter c...
C 學習筆記 繼承
一 c 中的繼承方式會影響子類的對外訪問屬性 public 修飾的成員變數 方法 在類的內部 類的外部都能使用 protected 修飾的成員變數方法,在類的內部使用,在繼承的子類中可用 private 修飾的成員變數方法,只能在類的內部使用 二 private成員在子類中依然存在,但是卻無法訪問到...
c 學習筆記 繼承
虛基類 派生類繼承的時候使用virtual關鍵字繼承的基類。個人認為叫 虛繼承 更為具體直觀。使用虛基類可以消除由多繼承產生的二義性。派生類可以隱含的轉換為基類,反之則不行。可以使用using語句繼承基類的建構函式,預設情況不繼承基類的建構函式。在即有繼承又有組合的時候,建構函式的呼叫順序為 先呼叫...