實驗7 多態性

一、 實驗目的

  1. 掌握運算符重載的方法;
  2. 學習使用虛函數實現動態多態性。

二、 實驗任務

  1. 定義Point類,有座標_x,_y兩個成員變量;對Point類重載“++”(自增)、“–”(自減)運算符,實現對座標值的改變。
    (題解:實驗7.1 對Point類重載“++”(自增)、“–”(自減)運算符)
  2. 定義一個車(vehicle)基類,有Run、Stop等成員函數,由此派生出自行車(bicycle)類、汽車(motorcar)類,從bicycle和motorcar派生出摩托車(motorcycle)類,它們都有Run、Stop等成員函數。觀察虛函數的作用。
    (題解:實驗7.2 定義一個vehicle基類,使用虛函數實現動態多態性)
  3. (選做)對實驗六中的people類重載“ == ”運算符和“=”運算符,“==”運算符判斷兩個people類對象的id屬性的大小;“=”運算符實現people類對象的賦值操作。

三、 實驗步驟

  1. 編寫程序定義Point類,在類中定義整型的私有成員變量_x、_y,定義成員函數Point& operator++();Point operator++(int); 以實現對Point類重載“++”(自增)運算符,定義成員函數Point& operator–();Point operator–(int);以實現對Point類重載“–”(自減)運算符,實現對座標值的改變。程序名:lab8_1.cpp。
    編寫程序定義一個車(vehicle)基類,有Run、Stop等成員函數,由此派生出自行車(bicycle)類、汽車(motorcar)類,從bicycle和motorcar派生出摩托車(motorcycle)類,它們都有Run、Stop等成員函數。在main()函數中定義vehicle、bicycle、motorcar、motorcycle的對象,調用其Run()、Stop()函數,觀察其執行情況。再分別用vehicle類型的指針來調用這幾個對象的成員函數,看看能否成功;把Run、Stop定義爲虛函數,再試試看。程序名:lab8_2.cpp。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章