我有一個與C++私有繼承有關的問題。 我的問題是基於與此頁here有關的參考文獻。 (在標題「但是,如果我們確實需要繼承?」)來自客戶端的私有繼承用法
的情況下是一點是,我宣佈一個基類與公共虛函數。然後我在私有繼承下繼承基類並將其命名爲派生類。這如下所示
class base {
public:
base() {}
virtual ~base() {}
virtual void func_1() {
cout<<"base func1"<<endl;
}
void func_t() {
cout<<"base funct"<<endl;
func_3();
}
private:
void func_3() {
cout<<"base func3"<<endl;
func_1();
}
};
class derived: private base {
public:
derived() {}
~derived() {}
virtual void func_1() {
cout<<"derived func1"<<endl;
}
};
base* b = new derived;
b->func_t();
上述語句給出的錯誤是,base是派生的不可訪問的基。 如果我想將func_1作爲派生的上述函數調用函數的一部分來調用,該怎麼辦?
噢,它確實有效。謝謝:) –