**虚函数的使用方法**

xiaoxiao2021-02-28  84

1.在基类中用virtual关键字申明成员函数为虚函数

class CShape { public: virtual void draw()=0; };

2.在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体。

class CTriangle : public CShape { public: void draw(); }; class CSquare : public CShape { public: void draw(); };

3.定义一个指向基类对象的指针变量,并使它指向同一类族中需要调用该函数的对象。

4.通过该指针变量调用此虚函数,此时调用的就是指针变量指向的对象的同名函数。

void Draw(CShape &shape); int main() { CSquare square; CShape *p = &shape; Draw(square);//调用的是square.draw() p = &square p->draw(); //调用的是square.draw() return 0; } void Draw(CShape &shape) { shape.draw(); }
转载请注明原文地址: https://www.6miu.com/read-57211.html

最新回复(0)