关于指针的强制转化之一(基类没有…
2014-02-24 15:02
211 查看
#include <iostream>
using namespace std;
class INondelegatingUnknown
{
public:
void hehe();
};
void INondelegatingUnknown::hehe()
{
cout<<"hehe"<<endl;
}
class IUnknown
{
public:
double a;
void jiajia();
};
void IUnknown::jiajia()
{
cout<<"jiajia"<<endl;
}
class A:public IUnknown,public
INondelegatingUnknown
{
int b;
int c;
};
void main()
{
A a;
cout<<&a<<endl;
cout<<(IUnknown*)(&a)<<endl;
cout<<(INondelegatingUnknown*)(&a)<<endl;
cout<<(IUnknown*)(INondelegatingUnknown*)(&a)<<endl;
cout<<&a<<endl;
cout<<(A*)(INondelegatingUnknown*)(&a)<<endl;
}
运行结果:
0012FF70
0012FF70
0012FF78
0012FF78
0012FF70
0012FF70
using namespace std;
class INondelegatingUnknown
{
public:
void hehe();
};
void INondelegatingUnknown::hehe()
{
cout<<"hehe"<<endl;
}
class IUnknown
{
public:
double a;
void jiajia();
};
void IUnknown::jiajia()
{
cout<<"jiajia"<<endl;
}
class A:public IUnknown,public
INondelegatingUnknown
{
int b;
int c;
};
void main()
{
A a;
cout<<&a<<endl;
cout<<(IUnknown*)(&a)<<endl;
cout<<(INondelegatingUnknown*)(&a)<<endl;
cout<<(IUnknown*)(INondelegatingUnknown*)(&a)<<endl;
cout<<&a<<endl;
cout<<(A*)(INondelegatingUnknown*)(&a)<<endl;
}
运行结果:
0012FF70
0012FF70
0012FF78
0012FF78
0012FF70
0012FF70
相关文章推荐
- 关于指针的强制转化之一(基类有虚…
- 关于基类与派生类之间对象、指针等转化关系的小结
- 关于基类与派生类之间对象、指针等转化关系的小结
- 何时一个类的指针可以强制转化为另外一个类的指针,即使它们之间没有派生关系?
- 关于基类与派生类之间指针转化关系小结
- 何时一个类的指针可以强制转化为另外一个类的指针,即使它们之间没有派生关系?
- 关于C++基类、派生类的引用和指针
- 关于函数字符数组调用的问题(没有搞清指针的概念)
- 关于基类指针、派生类指针、基类对象派、生类对象问题
- 打卡23:void * 指针---强制指针转化
- 关于函数指针类型强制转换的一些摸索
- 关于如何按位强制转化,如float与int之间按位转化
- 基类(base class)和派生类(derived class)指针在C++的相互转化
- 关于对 (char *)字符指针强制转换类型的一些理解
- 关于c++中字符串和字符指针之间的转化
- 关于指向派生类的基类指针或引用
- C++ 派生类指针强制指向基类对象
- 关于指针强制转换
- 类指针强制转化成子类, 子类的方法竟然可用.[VC++视频教程]
- 关于指针强制类型转换的思考