猿问
这个是动态分配吧,谁解释下这样的写法?
Trans* tran = NULL; //Trans是基类
tran = new TransRole(); //TransRole子类
DIEA
浏览 77
回答 2
2回答
心有法竹
其实tran=new TransRole()这句话的意思呢就是先动态构造一个TransRole对象,然后将基类Trans的指针指向该对象。等价于:TransRole tr = new TransRole();tran = &tr;通过这样赋值,就可以实现c++中的动态绑定功能。如果Trans中一个成员函数是virtual,在TransRole中又重载了该函数,那么通过tran会调用TransRole中的函数。即动态绑定功能。
0
0
0
Qyouu
new的意思是分配空间内存将内存的首地址赋给tran
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
我要回答