SV cast

本文探讨了在软件组件间传递对象时,如何利用基类句柄及cast确保类型安全。阐述了cast在派生类到基类转换的必要性,以及虚方法在句柄调用中的角色,强调了正确使用cast的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cast的使用场所

1、句柄:可以指向一个类或者任何它的宽展类的对象。

2、可以之间将派生类的句柄赋值给一个基类句柄,总是合法的。

3、基类句柄赋值给扩展类句柄,不总是合法的。因为通过扩展类句柄可以使用对象方法或变量时,基类对象中该变量或方法不一定存在。

4、实际的应用过程中,验证组件之间某对象传递都是通过基类句柄进行传递的。

     C1(Bad_tr1) -----------------Tr----------------->  C2(Bad_tr)

     C1组件中的派生类对象Bad_tr1,通过基类句柄Tr,传递给C2组件中。所以在C2中需要将基类句柄 Tr 赋值给扩展类句柄Bad_tr,由于转换不一定成功,所以必须使用cast。

2、虚方法

     通过句柄调用对象的方法时,根据对象类型,而非句柄的类型来决定调用什么方法。

 

 

转载于:https://www.cnblogs.com/littleMa/p/10455080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值