您好,登錄后才能下訂單哦!
《Effective C++》
條款32:確定你的public繼承塑模出is-a關系
Public inheritance(公開繼承)意味“is-a”的關系。
例子如下:
class Person{ ... }; class Student : public Person{ ... }; void eat(const Person& p);//任何人都會吃 void study(const Student& s);//只有學生才到校學習 Person p;//p是人 Student s;//s是學生 eat(p);//沒問題,人吃 eat(s);//沒問題,學生吃 study(s);//沒問題,學生學習 study(p);//錯誤!!!p不是學生,學習不是它的功能
總結:
public繼承意味is-a。適用于base classes身上的每一件事情一定也適用于derived classes身上,因為每一個derived class對象也都是一個bass class 對象。
2016-11-09 11:40:42
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。