父類指針和子類對象
如果用父類指針指向子類對象,能否訪問子類多出來的數據成員或者成員函數?(除了虛函數)
例如
class?shape { public: ????shape(); ????~shape(); }; class?circle:public?shape { public: ????circle(); ????~circle(); ????int?radius; }; shape?*p?=?new?circle; cout?<<?p->radius?<<?endl;????????//能否通過此語句訪問circle的radius
2018-08-24
不能,通過父類指針指向子類對象時,子類對象中特有的數據成員和成員函數會被截斷,無法通過父類指針訪問