C++与多态

什么是多态?

我偶尔也谈多态,而且以为我了解多态,但真要细说起来,还真是说不清楚,搜集了网上的一些介绍,巩固一下知识吧:多态的一个广泛认可的定义是 “一种将不同的特殊行为和单个泛化记号相关联的能力”,一个符号可以表达不同的行为,想想C++中有哪些feature是跟这个能力相关的:

1. 继承+虚函数:父类指针可以指向子类对象,调用虚函数时,执行子类对象的重载版本,从而实现一个symbol,却产生不同的行为;

2. 重载(overloading), 运算符重载:除了我们经常使用的=,<等运算符,我们还可以重载函数调用运算符,从而支持函数对象;

3. 重写(override):方法的名字是一样的,不过参数不一样或者一个是const的,也是一种多态;

4. template:编译时可以把一个template编译成不同的类,是一种静态多态;

原文链接: https://www.cnblogs.com/whyandinside/archive/2012/11/27/2791097.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++与多态

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/70725

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午2:28
下一篇 2023年2月9日 下午2:29

相关推荐