類的繼承私有成員問題

2021-06-26 01:12:54 字數 663 閱讀 4608

類的繼承過程分為公有繼承,保護繼承和私有繼承,無論哪一種繼承,基類的私有成員在派生類成員中都是不可見的,可是基類的私有成員是否被派生類繼承了呢?通過以下實驗即可知道。

**如下:

#include using namespace std;

class base

private:

virtual void f()

int a; };

class derive : public base;

void main() {

derive d;

int** pvtab = (int**)&d;

fun pfun = (fun)pvtab[0][0];

cout<

監視視窗如下圖:

執行結果如下:

由以上可知,基類的私有成員被派生類繼承了,而類的物件空間沒有響應的常規函式成員的分布。同時根據類的物件的記憶體空間的分布,我們可以在類外訪問類的私有成員。

c 父類的私有成員能否繼承

1.子類可以間接訪問父類私有成員 父類的私有成員函式和私有成員變數一樣,只有該類內部的其他成員函式可以呼叫,對外是封蔽的。子類繼承了父類的共有函式,且父類的公有函式呼叫了其內部的私有函式,此時子類呼叫父類的公有函式便能訪問父類的私有成員函式了。include using namespace std ...

python 類私有成員

在python中定義私有變數只需要在變數名或函式名前加上 兩個下劃線,那麼這個函式或變數就會為私有的了。created on 2012 7 24 author administrator class test def test 1 self print test 1 is ok.def test 2...

Python類的私有成員

usr bin env python coding utf8 python中類的成員函式 成員變數預設都是公開的 public 在python中定義私有成員只需要在變數名或函式名前加上 兩個下劃線 那麼這個函式或變數就變成私有的了。在內部,python使用一種name mangling技術,將 me...