多态性和虚函数
来源:互联网 发布:js 键值对动态赋值 编辑:程序博客网 时间:2024/05/19 18:13
1 向上类型转换
取一个对象的地址并将其作为基类的对象来使用
2 捆绑
函数体和函数调用相联系称为捆绑
遭捆绑:在程序运行之前
晚捆绑:在程序运行时
3 虚函数
为了引起晚捆绑,需要在基类使用vitual修饰函数
4 c++如何实现晚捆绑
VTABLE
编译器放置特定的虚函数地址
在每个虚函数类中,编译器秘密的放置一个指针。
指向这个vtable
5抽象基类和纯虚函数
基类只作为一个接口。
纯虚函数:基类至少加入一个纯虚函数
当继承一个抽象类时,必须实现所有的纯虚函数否则继承的类也会是一个纯虚函数
6RTT1 运行时类型辨认
7 对象切片
传值
8 重载和重定义
重新定义一个基类的重载函数会隐藏多有该函数的其他基类版本
1 不许改变重载函数的返回值
2 可以改变返回指针和引用
9 虚函数
Vptr和vtable
设置vptr是构造函数的工作。
预处理器没有访问和类的概念
10 构造函数的调用次序
1 确保兑现被正确的建立
2 派生类只访问自己的成员,不访问基类成员
3
11 虚函数的调用发生在程序运行时
这时编译器不知道这个对象属于这个成员函数属于的类别
虚机制在构造函数中不起作用
12 构造函数调用时只知道构造函数所属的类。完全不知道这个类属于其他的类别
13 构造函数被调用后才有vtable
14 析构函数可以为虚函数
自最晚派生的类开始,并像上的基类
15 纯虚析构函数
必须为纯虚析构函数提供一个函数体
16 析构函数的虚机制
17 创建基于对象的继承
单根继承
18 运算符重载
19 向下类型转换
dynamic_cast 显示转换
安全类型转换
20 返回正确的地址,错误的话返回0
阅读全文
0 0
- 多态性和虚函数
- 虚函数和多态性
- 虚函数和多态性
- 虚函数和多态性
- 多态性和虚函数
- 多态性和虚函数
- 多态性和虚函数
- 多态性和虚函数
- 多态性和虚函数
- 虚函数和多态性
- 多态性和虚函数
- 多态性和虚函数
- 多态性和虚函数
- c++ 虚函数和多态性
- 虚函数和多态性---总结
- 5.多态性和虚函数
- c++多态性和虚函数
- virtual(虚函数)和多态性
- poj1738 An old Stone Game 石子合并(归并) GarsiaWachs算法
- 十三、断路器-Hystrix 的隔离策略
- How to Type (字符大小写转换)
- 类型萃取
- Servlet学习
- 多态性和虚函数
- Linux文件的压缩与解压缩
- 模糊查询
- Windows下使用Sublime Text配置C++编译环境
- [BZOJ 3330] 分数 三分法+精度优化
- 1059. Prime Factors (25)
- 基于Docker及Kubernetes技术构建容器云(PaaS)平台概述
- 动态单链表库函数和demo
- 二维数组中的查找