MOOC清华《面向对象程序设计》第4章:强制类型转换实验
来源:互联网 发布:java编写飞机大战思路 编辑:程序博客网 时间:2024/06/07 02:42
#include <iostream>using namespace std;class B{public:virtual void f() {}};class D : public B{};class E{};int main(){D d1;B b1;//d1 = static_cast<D>(b1);//ERROR:从基类无法转换回派生类b1 = static_cast<B>(d1);//OK!可以从派生类转换成基类//b1 = dynamic_cast<B>(d1);//ERROR:被转换的必须是引用或指针B* pB1 = new B();D* pD1 = static_cast<D*>(pB1);if(pD1) cout << "static_cast, B* --> D* : OK" << endl;if(!pD1) cout << "static_cast, B* --> D* : Failed" << endl;pD1 = dynamic_cast<D*>(pB1);if(pD1) cout << "dynamic_cast, B* --> D* : OK" << endl;if(!pD1) cout << "dynamic_cast, B* --> D* : Failed" << endl;D* pD2 = new D();B* pB2 = static_cast<B*>(pD2);if(pB2) cout << "static_cast, D* --> B* : OK" << endl;if(!pB2) cout << "static_cast, D* --> B* : Failed" << endl;pB2 = dynamic_cast<B*>(pD2);if(pB2) cout << "dynamic_cast, D* --> B* : OK" << endl;if(!pB2) cout << "dynamic_cast, D* --> B* : Failed" << endl;E* pE = dynamic_cast<E*>(pB1);if(pE) cout << "dynamic_cast, B* --> E* : OK" << endl;if(!pE) cout << "dynamic_cast, B* --> E* : Failed" << endl;//pE = static_cast<E*>(pB1);//ERROR:没有继承关系不能转换 //E e = static_cast<E>(pB1);//ERROR:没有提供转换途径 return 0;}
阅读全文
0 0
- MOOC清华《面向对象程序设计》第4章:强制类型转换实验
- MOOC清华《面向对象程序设计》第4章:自动类型转换实验
- MOOC清华《面向对象程序设计》第4章:explicit禁止自动类型转换实验
- MOOC清华《面向对象程序设计》第4章:delete禁止自动类型转换实验
- MOOC清华《面向对象程序设计》第2章:类型推导操作符decltype实验
- MOOC清华《面向对象程序设计》第4章:继承基类构造函数实验
- MOOC清华《面向对象程序设计》第4章:函数重写实验
- MOOC清华《面向对象程序设计》第4章:向上映射实验
- MOOC清华《面向对象程序设计》第4章:虚函数实验
- MOOC清华《面向对象程序设计》第4章:虚析构函数实验
- MOOC清华《面向对象程序设计》第4章:函数模板实验
- MOOC清华《面向对象程序设计》第4章:函数模板的特化实验
- MOOC清华《面向对象程序设计》第4章:类模板的特化实验
- MOOC清华《面向对象程序设计》第3章:对象组合实验
- MOOC清华《面向对象程序设计》第2章:私有成员与公有成员不可同名实验
- MOOC清华《面向对象程序设计》第2章:auto变量实验
- MOOC清华《面向对象程序设计》第2章:new/delete运算符实验
- MOOC清华《面向对象程序设计》第2章:左值引用实验
- 【贪心/01背包】HDU1735字数统计
- Docker容器资源限制
- JavaScript--正则表达式积累(1)
- iOS组件化开发
- 网络爬虫:基于有道的文本翻译
- MOOC清华《面向对象程序设计》第4章:强制类型转换实验
- C# string类型中常用的API
- 二维数组练习07_矩阵归零消减序列和
- 远程串口应用在实验数据采集
- HDU 5877 Weak Pair
- eclipse内存溢出变慢解决方法
- 二维数组练习03_计算矩阵边缘元素之和
- 安卓Android打包生成正式版地图jks配置debug版及release版
- C中几个特定宏的介绍(一些调试的小技巧)