为了账号安全,请及时绑定邮箱和手机立即绑定

这个是动态分配吧,谁解释下这样的写法?

这个是动态分配吧,谁解释下这样的写法?

C++
DIEA 2022-12-16 13:09:02
Trans* tran = NULL; //Trans是基类tran = new TransRole(); //TransRole子类
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

其实tran=new TransRole()这句话的意思呢就是先动态构造一个TransRole对象,然后将基类Trans的指针指向该对象。
等价于:
TransRole tr = new TransRole();
tran = &tr;
通过这样赋值,就可以实现c++中的动态绑定功能。
如果Trans中一个成员函数是virtual,在TransRole中又重载了该函数,那么通过tran会调用TransRole中的函数。即动态绑定功能。

查看完整回答
反对 回复 2022-12-18
?
Qyouu

TA贡献1786条经验 获得超11个赞

new的意思是分配空间内存将内存的首地址赋给tran

查看完整回答
反对 回复 2022-12-18
  • 2 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信