第十二週專案1.3長頸鹿類對動物類的繼承。。protected繼承方式下
阿新 • • 發佈:2019-02-19
/* *程式的版權和版本宣告部分: *Copyright(c)2014,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:長頸鹿類對動物類的繼承 *作者:王雅萍 *完成日期:2014 年 5 月 13 日 *版本號:v1.0 *對任務及求解方法的描述部分: *輸入描述:無 *問題描述:在下面的程式中要求的位置寫下注釋,宣告相應的語句在語法上是否正確,為什麼。 在第一個程式中給出了示例,其他位置請仿照完成。 在上機時,可以編譯程式加以驗證,閱讀錯誤給出的英文提示,並加以理解。 *程式輸出:- *問題分析: *演算法設計: *我的程式: */ #include <iostream> using namespace std; class Animal { public: Animal() {} void eat() { cout << "eat\n"; } protected: void play() { cout << "play\n"; } private: void drink() { cout << "drink\n"; } }; class Giraffe: protected Animal { public: Giraffe() {} void StrechNeck() { cout << "Strech neck \n"; } void take() { eat(); // 正確,保護繼承下,基類public成員對派生類可見 drink(); // 錯誤,保護繼承下,派生類不可訪問基類private成員 play(); // 正確,保護繼承下,基類protected成員對派生類可見 } }; int main() { Giraffe gir; gir.eat(); // 錯誤,保護繼承下,Giraffe類物件類外不可訪問基類成員 gir.play(); // 錯誤,保護繼承下,Giraffe類物件類外不可訪問基類成員 gir.drink(); // 錯誤,保護繼承下,Giraffe類物件類外不可訪問基類成員 return 0; }