一、 實驗目的
- 掌握運算符重載的方法;
- 學習使用虛函數實現動態多態性。
二、 實驗任務
- 定義Point類,有座標_x,_y兩個成員變量;對Point類重載“++”(自增)、“–”(自減)運算符,實現對座標值的改變。
(題解:實驗7.1 對Point類重載“++”(自增)、“–”(自減)運算符) - 定義一個車(vehicle)基類,有Run、Stop等成員函數,由此派生出自行車(bicycle)類、汽車(motorcar)類,從bicycle和motorcar派生出摩托車(motorcycle)類,它們都有Run、Stop等成員函數。觀察虛函數的作用。
(題解:實驗7.2 定義一個vehicle基類,使用虛函數實現動態多態性) - (選做)對實驗六中的people類重載“ == ”運算符和“=”運算符,“==”運算符判斷兩個people類對象的id屬性的大小;“=”運算符實現people類對象的賦值操作。
三、 實驗步驟
- 編寫程序定義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。