-
多態的實現原理查看全部
-
抽象類不能實例化對象查看全部
-
#include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定義動物類:Animal * 成員函數:eat()、move() */ class Animal { public: // 構造函數 Animal(){cout << "Animal" << endl;} // 析構函數 virtual ~Animal(){cout << "~Animal" << endl;} // 成員函數eat() virtual void eat(){cout << "Animal -- eat" << endl;} // 成員函數move() virtual void move(){cout << "Animal -- move" << endl;} }; /** * 定義狗類:Dog * 此類公有繼承動物類 * 成員函數:父類中的成員函數 */ class Dog : public Animal { public: // 構造函數 Dog(){cout << "Dog" << endl;} // 析構函數 virtual ~Dog(){cout << "~Dog" << endl;} // 成員函數eat() virtual void eat(){cout << "Dog -- eat" << endl;} // 成員函數move() virtual void move(){cout << "Dog -- move" << endl;} }; int main(void) { // 通過父類對象實例化狗類 Animal *p=new Dog; // 調用成員函數 p->eat(); p->move(); // 釋放內存 delete p; p=NULL; return 0; }查看全部
-
喜歡查看全部
-
函數的隱藏:父類和子類出現同名函數; 函數的覆蓋:子類與父類有同名虛函數,子類虛函數則被父類覆蓋查看全部
-
虛函數使用virtual關鍵字定義,但使用virtual關鍵字時,并非全部是虛函數; 虛函數特性可以被繼承,當子類中定義的函數與父類中虛函數的聲明相同時,該函數也是虛函數。查看全部
-
只有虛析構函數,沒有虛析構函數查看全部
-
虛析構函數可以防止內存泄漏查看全部
-
多態具體到語法是指使用父類指針指向子類對象,并可通過該指針調用子類的方法; 多態是基于類和繼承; 多態的語法核心是virtual關鍵字,必須使用virtual才能使多個類間建立多態關系; 封裝、繼承、多態是面向對象的三大特性;查看全部
-
筆記截圖不會用查看全部
-
c++虛查看全部
-
虛析構函數查看全部
-
try與catch是一對多的關系查看全部
-
異常情況處理: try catch throw查看全部
-
typeid注意事項: 1、type_id返回一個type_info對象的引用 2、如果想通過基類的指針獲得派生類的數據類型,基類必須帶有虛函數 3、返回數據的真實類型查看全部
舉報
0/150
提交
取消