代码分析基类和派生类的地址和布局的问题
来源:互联网 发布:mindnode有windows版么 编辑:程序博客网 时间:2024/06/11 10:24
#include <iostream>
#include<memory.h>
#include<assert.h>
using namespace std;
class A
{
int m_nA;
};
class B
{
int m_nB;
};
class C:public A,public B
{
int m_nC;
};
int main(int argc,char*argv[])
{
C*pC = new C;
B*pB = dynamic_cast<B*>(pC);
A*pA= dynamic_cast<A*>(pC);
if(pC==pB)//pC和pB数据类型需要进行隐式的数据转换(过程见图分析),请看图示1
//相当于pC = (C*)pB, 实际上pC指向的对象(C*)隐式转换pB后pB指向的对象(pC指向的对象)的部分
{
cout << "equal" << endl;
}
else
{
cout << "not equal" << endl;
}
if (int(pC) ==int(pB))//指针pC和pB的值不同,转换为int值不同
//假如是int pC=int (C*)pB 就是相等的
{
cout << "equal" << endl;
}
else
{
cout << "not equal" << endl;
}
}
//pA的情况和pB一致
图示1
代码运行结果:
阅读全文
0 0
- 代码分析基类和派生类的地址和布局的问题
- 基类和派生类的地址和布局
- 基类和派生类的地址问题
- 关于基类和派生类的动态绑定问题
- 类的继承和派生
- 类的继承和派生
- 类的继承和派生
- 派生类和基类的关系
- 基类和派生类的关系
- 关于基本类和派生类的基本问题。
- 派生类构造函数和多重继承的二义性问题
- C++编程一个有趣的问题,关于基类地址与派生类地址
- 派生类到基类的转换 和基类到派生类的转换
- 派生类到基类的转换 和基类到派生类的转换
- 派生类到基类的转换 和基类到派生类的转换
- c++模板类派生:派生类访问基类中的public 和protected成员的一些问题
- 派生和基类
- 当派生类和基类的虚构函数默认实参不同时的传递问题
- 试题16:反转链表
- 学习笔记之装饰者模式
- poj2965 The Pilots Brothers' refrigerator
- hiho 1164 概论数学
- 遥感影像计算植被覆盖度FVC
- 代码分析基类和派生类的地址和布局的问题
- Codeforces 600E Lomsat gelral (启发式合并)
- java将数据写入csv文件,从csv文件中读取数据
- 控制台程序生成窗口
- CodeForces
- Python2 列表方法
- [bzoj1055][HAOI2008]玩具取名(区间dp)
- ZooKeeper源码(3)server包非核心类
- ss安装并开启BBR算法