1
通常,我們希望使用私有繼承來將實現細節隱藏到基類中。如果是這樣,當我們想私下繼承基類的時候,爲什麼要宣傳名字?
1)爲什麼名稱公佈功能又出現了?僅僅是爲了語言的完整性還是有實際用法呢?
2)即使我公開基類函數名,派生類仍然可以聲明具有相同名稱的另一個函數。請考慮下面的代碼。
#include "iostream"
using namespace std;
class Base {
public:
int zoo;
Base() {zoo =5;}
int sleep() const {return 3;}
};
class Derived : Base { // Private inheritance
public:
using Base::zoo;
using Base::sleep;
int sleep() const { return 4.0; }
};
int main() {
Derived der;
der.sleep();
cout<<" zoo is : "<<der.zoo<<endl;
cout<<" Sleep is : "<<der.sleep()<<endl;
}
在上面的代碼中,即使我們宣傳的名稱,我們仍然可以在派生類中聲明的名稱,我們可以訪問成員變量的基類版本。內存如何管理?
謝謝。
什麼是內存管理? – fghj
也注意到這是無效的C++ 11代碼。 – xaxxon
不要忘記'使用'。 – KyleKnoepfel