社区
C++ 语言
帖子详情
强制转换的问题!
jemmy
2005-03-21 01:37:58
class A
{
}
class B:public A
{
}
为什么
我定义A的对象
A a;
强制转换
B b=(B)a;
出错呢?
...全文
186
11
打赏
收藏
强制转换的问题!
class A { } class B:public A { } 为什么 我定义A的对象 A a; 强制转换 B b=(B)a; 出错呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BillSmith
2005-03-22
打赏
举报
回复
搞反了啦!基类对象不能转成派生类的。
csumallsme
2005-03-21
打赏
举报
回复
使用RTTI
defyer007
2005-03-21
打赏
举报
回复
楼上的楼上:汽车可以是轿车,轿车是汽车的一种
如果在派生类中定义了复制构造函数,且将其参数设置成基类的引用参数
或者用引用类型的转换应该可以的吧,比如 B &b=(B &)a;
private reference,advice only
OYXC
2005-03-21
打赏
举报
回复
为什么我操作就能顺利进行呢?我的是VC 6.0
xjp6688
2005-03-21
打赏
举报
回复
汽车就非的是轿车吗?
goodluckyxl
2005-03-21
打赏
举报
回复
可以用 dynamic_cast<>
happylove311
2005-03-21
打赏
举报
回复
父类不可以强转为子类;通俗一点儿讲:(老子不可以转为做儿子)。
allen_zhaozhencn
2005-03-21
打赏
举报
回复
public 继承就是is-a, 派生类对象赋值给基类对象会产生“切割”现象。基类对象转为派生类对象则不可以。
yuchengliu
2005-03-21
打赏
举报
回复
不可以把基类转换为子类!
使用 static_cast
不过最好不要用!
oyljerry
2005-03-21
打赏
举报
回复
派生类给基类,会损失一些参数,但可以
基类转派生类,则不安全
Salam2001
2005-03-21
打赏
举报
回复
这种类型转换是不对的。不能将基类对象赋给派生类对象,而只能将派生类对象赋给基类对西哪个。
因为,派生类对象是一种基类对象,所以 a = b 合法。
而,基类对象不是一种派生类对象,所以 b = a 非法,强制转换也不行,因为这种操作的后果将是不安全的。
c语言 switch整型,c语言switch型别
强制转换
的
问题
。
c语言switch型别
强制转换
的
问题
。以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!c语言switch型别
强制转换
的
问题
。语言规定,switch的引数必须是整型,或者字元。你定义的score是float型别,所以不加int
强制转换
会报错C语言
强制转换
的
问题
!你好! 一步一步来 int a,b; 这句的功能是作业系统为 ...
C++的四种
强制转换
1.背景 大家好,我是酒馆店小二。 C风格的
强制转换
(Type Cast)容易理解,不管什么类型的转换都可以使用使用下面的方式。 TypeName res = (NewTypeName)ans; 当然,C++也是支持C风格的
强制转换
,但是C风格的
强制转换
可能带来一些隐患,让一些
问题
难以察觉。所以C++提供了一组可以用在不同场合的
强制转换
的函数。 2.const_cast 常量转换 const_cast用于强制去掉不能被修改的常数特性,其去除常量性的对象一般为指针或引用。 用法:const_cast<
C语言中的4种强制类型转换!
前言 在C语言中,我们需要做类型转换时,常常就是简单粗暴,在C++中也可以用C式强制类型转换,但是C++有它自己的一套类型转换方式。 C式的显示类型转换 先来说说C式的强制类型转换,它的用法非常简单,形如下面这样 Typeb=111; Typeaa=(Typea)b; 只需要用括号将你要转换的类型扩起来,放在要转换的变量前面即可。 举个例子: #include<st...
【C语言】
强制转换
常规的数据类型
强制转换
,加入指针后,地址,函数等等的
强制转换
细节和示例程序
C++类型
强制转换
C++类型
强制转换
的四种方法 static_cast const_cast dynamic_cast reinterpret_cast 强制类型转换是有一定风险的,有的转换并不一定安全,如把整型数值转换成指针,把基类指针转换成派生类指针,把一种函数指针转换成另一种函数指针,把常量指针转换成非常量指针等。 有C
强制转换
,为什么C++还需要重新定义? C语言的
强制转换
,只需要在转换的类型前面使用括号包含
强制转换
的类型即可,而这个括号内是可以为任何类型,也就是说,C的
强制转换
可以把想要的任何东西转换成合乎心意
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章