1.派生類作為實參賦給父類形參
一般的父類只繼承子類中共同的部分,子類的新方法會被自動忽略而父類也就無法呼叫子類的新方法了,
問題:用父類的形參來訪問子類的新方法,
強制型別轉換(這個可能會有風險,但是編譯器不報錯)
class Animal{
public:
void Live(){
cout<<" Living "<<endl;
}
};
class Dog : public Animal{
public:
void Jump(){
cout<<" Jump "<<endl;
}
};
Animal * b = new Dog;
((Animal* )b) -> Jump(); //ok, 強制轉化
如果父類指標指向子類物件,需要把父類的指標轉化為指向子類物件的指標,來訪問子類擴展成員這就是所謂的向下轉,
但是,向下轉型是危險的,因為父類指標有可能沒有指向子類物件,//這樣試過,編譯器是不報錯的,但是按道理是不好這樣強轉了,
//Dog沒有繼承Animal

這樣測驗下來就是不報錯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/40788.html
標籤:C++
上一篇:C++中strcpy_s()
