博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++多态
阅读量:2186 次
发布时间:2019-05-02

本文共 420 字,大约阅读时间需要 1 分钟。

一个函数在内存中的地址称为函数入口地址。多态就是指在运行时将函数名称动态绑定到函数入口地址的绑定机制。

 

c++多态的条件:

1.存在继承体系结构

2. 存在virtual关键字的同名成员函数

3. 用基类指针, 基类引用访问成员函数

 

基类指针可以指向派生类对象, 反之不行。

 

如果在基类中用了virtual关键字, 派生类即使不用virtual声明, 默认是virtual的

 

virtual不能用于顶层函数

 

构造函数不能是虚的, 而析构则一般是虚的(防止派生类成员不能释放),

 

只有非静态成员才能是虚的。

 

重载函数和虚函数的区别是前者为编译时绑定。

 

动态绑定是通过vtable

 

覆盖是指函数相同, 但未用virtual关键字。

 

假设基类A定义了x(), 派生类B也定义了x(), 要在通过B的对象b访问A的x(), 需如下方式调用:b.A.x().

 

纯虚函数用于定义抽象基类成员, 不能生成实例, 必须被派生类覆盖,在纯虚的地方让其等于0.

 

 

 

转载地址:http://ntrkb.baihongyu.com/

你可能感兴趣的文章
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>