c++模型
来源:互联网 发布:破解软件平台 编辑:程序博客网 时间:2024/06/09 20:25
每一个类对象被添加一个指针,指向相关的虚函数表,虚函数表的设定和重置都由每一个对象构造运算符,析构运算符和拷贝赋值运算符自动完成。
指针的类型指出内存的大小,因此如果是void*类型的指针,只能够含有一个地址,而不能通过它操作所指的object。
指针的类型转换并不改变一个指针所含的真正地址,只影响”被指出的内存大小和内容“
当一个base class object被直接初始化为一个derived class object时,derived class objec会被切割,多态不再呈现
如果某个object含有一个或者一个以上的虚函数表,那base class object虚函数表的内容不会被初始化或改变。
c++以下列方法支持多态
1、经由一组隐含的转化操作,例如把一个Derived class指针转化为一个指向其Public base type的指针。
shape *ps=new circle()
2、经由virtual function机制
ps->rotate()
3、经由dynamic_cast和typeid运算符
if(circle *pc =dynamic_cast<circle *> (ps))
阅读全文
0 0
- 【C/C++】消费-生产者模型
- tcp_server.c服务模型
- [C++]实现委托模型
- python C/S模型
- linux c内存模型
- C/S模型
- [C++]实现委托模型
- [C++]实现委托模型
- [C++]实现委托模型
- [C++]实现委托模型
- [C++]实现委托模型
- Objective-C对象模型
- C/C++内存模型
- [C++]实现委托模型
- C ++ 抽象工厂模型
- C语言 存储模型
- Objective-C对象模型
- objective C 对象模型
- 【技术教程】SequoiaDB对接Kafka
- VS2017安装打包工具;MFC的使用
- idea中properties配置文件显示中文
- leetcode 88. Merge Sorted Array
- Android的消息机制
- c++模型
- 【脚本学习】区分shell与shell脚本
- 51nod 1137 矩阵乘法
- ubuntu安装redis
- 第七周项目五
- WebService简单测试
- HM编码器代码阅读(6)——GOP、IDR帧、I帧周期的关系(待修改)
- AdvancedInstaller快速制作一键安装包
- 身份证ID生成代码(PHP)