zoukankan      html  css  js  c++  java
  • C++与多态

    什么是多态?

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

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

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

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

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

  • 相关阅读:
    RocketMQ消息模型
    RabbitMQ消息模型
    消息队列选择
    消息队列使用场景
    synchronized底层实现
    Java 内存模型
    MySql中的字符数据类型
    php页面编码与字符操作
    git学习总结
    SESSION机制
  • 原文地址:https://www.cnblogs.com/whyandinside/p/2791097.html
Copyright © 2011-2022 走看看