虚函数 基类的指针可以指向派生类的对象 但调用的函数却是基类的函数 虚函数可以解决这个问题 北大青鸟
4 虚函数 • 基类的指针可以指向派生类的对象 • 但调用的函数却是基类的函数 • 虚函数可以解决这个问题
示例21 sinclude class shapes public: void draw o //基类中的函数 cout<"绘制基本形状\n"; class Circle public Shap private: int radius; public: void draw o //在派生类中重新定义 cout<<"绘制圆形\n"; 北大青鸟
5 示例 2-1 #include class Shapes { public: void draw() //基类中的函数 { cout << "绘制基本形状\n"; } }; class Circle : public Shapes { private: int radius; public: void draw() //在派生类中重新定义 { cout << "绘制圆形\n"; } };
示例22 class Square public Shapes private int length public: void draw o //在派生类中重新定义 coutdraw)i ptr &s ptr->drawoi 6 北大青鸟
6 示例 2-2 class Square : public Shapes { private: int length; public: void draw() //在派生类中重新定义 { cout draw(); ptr = &s; ptr->draw(); } 调用Shapes 的draw()方 法