📄 main1.cpp
字号:
//虚基类中指针的使用
#include "B0.h"
#include "B1.h"
#include "D0.h" //B1继承了B0,D0继承了B1
//#include <iostream.h>
void main()
{
B0 b0 ;//建立B0对象
B1 b1 ;//建立B1对象
D0 d0 ;//建立D0对象
B0 *pb0 = &d0 ;//B0类的指针pb0指向D0类的对象d0
B1 *pb1 = &b1 ;
D0 *pd0 = &d0 ;
//用dynamic_cast把B0类的指针pb0转换到D0类的pd0
//pd0 = dynamic_cast< D0 * >(pb0) ;
//用static_cast把B0类的指针pb0转换到D0类的pd0
pd0 = static_cast< D0 * >(pb0) ;
//D0类的show()显示结果5,B0类的show()显示结果3,
pd0->show() ;
//显示结果 5
//总结:
//用dynamic_cast把B0类的指针pb0转换到D0类的pd0是不可以实现的
//用static_cast把B0类的指针pb0转换到D0类的pd0是可以实现的
cout << endl ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -