C++虚函数

来源:互联网 发布:浙江大学软件学院专业 编辑:程序博客网 时间:2024/05/22 11:55

多态性是面向对象设计语言的基本特征,而C++中正是通过虚函数来实现多态的。

 

关于多态:多态也称为动态联编或迟后联编,因为到底调用哪一个函数,在编译时不能确定,而要推迟到运行时确定。也就是说,要等到程序运行时,确定了指针所指向的对象的类型时(或者是引用时),才能够确定。这样的解释可能还是有点抽象,请看下面的例子:

 

 

运行结果:

 

 

当调用上面的这个test()函数时,如何确定temp类型(基类还是派生类)然后调用正确的show()方法呢?-------使用虚函数

我们在基类的show()函数前加上virtual,如下代码:

再看看运行结果:

 

 

这次程序就根据传入对象的类型调用了正确的show()函数了。

原创粉丝点击