C++虚函数 C++泛型程序设计和多态

虚函数和动态绑定

我们接着上一篇的例子来说(C++泛型程序设计和多态)。

虚函数能够使系统能够在运行时基于对象的类型动态决定调用的函数。也就是说,普通函数displayGeometricObject(const GeometricObject g)只能调用GeometricObject类的函数,因为在运行前已经动态编译好了。但是虚函数是在运行时动态决定的,所以可以实现根据实际类型而调用函数。

虚函数的语法:在函数前加关键字virtual 即可。

如toString()函数

virtual string toString() const;

(只需要改GeometricObject.h文件的toString函数即可,因为Circle类和Rectangle类都继承自GeometricObject类

重新运行之前的程序:

猜你喜欢

转载自www.cnblogs.com/bwjblogs/p/12781239.html