您的位置:首页 > 编程语言 > C语言/C++

C++ 对象或指针类型转换

2016-03-09 10:29 253 查看
DYNAMIC_DOWNCAST(class, pointer ):如果pointer指针所指向的对象是class类型的,就返回这个指针。否则返回NULL

例如 你获取到一个指针 XXX *pointer; 你想判断它是不是指向某个类 ,例如 A 这个类

A* p= DYNAMIC_DOWNCAST(A, pointer );

如果pointer是指向A这个类则返回此指针,否则返回空

Class CLS_A:CLS_B

{}

CRuntimeClass* pRT_Class=RUNTIME_CLASS(CLS_A);

CLS_B* pB=DYNAMIC_DOWNCAST(CLS_B,pRT_Class->CreateObject())

或者

CLS_B* pB=dynamic_case<CLS_B*>(pRT_Class->CreateObject());

CWnd *pWnd = NULL;

pWnd = this->m_Sp3.GetPane(0,0);

this->m_pView = DYNAMIC_DOWNCAST(CTest1View,pWnd);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: