zoukankan      html  css  js  c++  java
  • c++多态性

    多态性(polymorphism)是指允许通一个函数(或是操作符)有不同版本,对于不同的对象执行不同的版本。c++支持一下两种多态

    (1)编译时的多态性,表现为函数名(或操作符)的重载。

    (2)运行时的多态性,表现为派生类和虚函数来实现。

    函数名重载:编译器能够比较具有同名函数的特征,通过识别实参的数目和每个实参的类型,来标识适用于一个特定调用的哪一个版本。

    操作符重载:可用同一个名字定义多种操作,这种能力叫做操作符重载。

    虚函数和动态绑定

    一个虚函数是一个在基类中被声明为“virtual”,并在一个或多个派生类中被重新定义的函数。如果在基类声明中,在一个函数的函数特征之前加一个关键字“virtual”,则编译器将建立一个可由运行环境解释的数据结构,并由程序执行时而不是编译时由运行环境来执行对这个函数的调用。

    一个抽象类必须作为基类而被其他类继承,抽象类自己不能生成实例,就是说不能由类生成对象,因为抽象类中至少有一个函数没有实现。如果一个基类中的某个函数声明为纯虚函数,则该基类的任何派生类都必须定义自己的实现。

    “virtural”指定实际调用的成员函数将是在运行时动态调用确定的,而不是在编译时确定的。这种做法叫做动态绑定(dynamic binding)。动态绑定在编译性面向对象语言中是为了支持所包含的多态性。

  • 相关阅读:
    关于http头
    关于js中的命名
    PHP之APC缓存详细介绍
    找回Windows Vista桌面的IE7.0图标
    查看操作系统是不是中文正式版?
    如何判断XP是否已激活
    Vista取消默认共享
    今天是儿童节,祝福儿子节日快乐!
    天天锻炼身体好!
    如何查看你的XP SP2是否原版?
  • 原文地址:https://www.cnblogs.com/newpanderking/p/3836955.html
Copyright © 2011-2022 走看看