我有以下問題:私人的傳承和構造
- 要繼承一些類如保護(外派生類我不需要從基類中的任何成員或功能)
- 希望能夠訪問基地構造以某種方式
下面是一個例子(編譯錯誤):
class Animal
{
public:
explicit Animal(void){;}
};
class Dog: private Animal
{
public:
explicit Dog(void){;}
};
int main(int argc, char *argv[])
{
Dog* pDog1 = new Dog();
Animal* pDog2 = new Dog();
return 0;
}
我該如何解決這個問題? 謝謝!
編輯:假設基類繼承自一些庫,因此我不能改變它。
什麼叫「希望能夠訪問基類的構造以某種方式」是什麼意思? – YeenFei
@YeenFei,我認爲這是一個語法錯誤。 OP意味着從'Dog *'轉換爲'Animal *';因爲構造函數無論如何都可以訪問。 – iammilind