什么是C++类型转换

Magnificent * p1 = (Magnificent *) pm 和另外两个代码里的(Magnificent *)是干嘛的?有什么用?

(Magnificent *) 是强制类型转换, Superb是Grand的子类, 而Magnificent 又是Superb子类, 子类在内存空间上是包含父类的, 所以在强抽类型转换时, 子类可以安全的转换成父类, 因为子类在空间上比父类大, 包含父类, 但父类直接强制转换成子类是不安全的. 因为父类比子类空间上小, 按子类访问就有可能造成内存越界, 所以是不安全的.追问

原来如此,谢谢,我还想问一些,如果是用指针,是基类的指针可以指向派生类,还是派生类的指针可以指向基类?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-04
ooooooooooo
第2个回答  2018-11-05
c++是一种专门扯蛋的语言
第3个回答  2018-11-05
就类型之间的转换
第4个回答  2018-11-05
#include<iostream>
 
int main()
{
using namespace std;
cout.setf(ios_base::fixed,ios_base::floatfield);
float tree = 3;
int guess(3.9832);
int debt = 7.2E12;

cout<<"tree = "<<tree<<endl;
cout<<"guess = "<<guess<<endl;
cout<<"debt = "<<debt<<endl;
return 0;
}

追问

😂看不太懂。

本回答被网友采纳
相似回答