传参的问题

来源:3-8 巩固练习

2541644246

2016-03-18 20:58

求大神,为什么要这句hunting(p);而不是这句hunting(&p);void hunting(CanShut *s)不应该传入一个地址吗?

写回答 关注

2回答

  • 慕盖茨0283823
    2022-04-21 00:25:08

    看着你的代码很简洁。但是似乎没有渐变的效果,不知能否再改下,让我这菜鸟学学。

    fhkenwunwphzqbmhnjyjuxnaakb

  • 萝卜白菜西瓜
    2016-03-18 21:55:20
    如果你定义的是Gun p,那么需要使用&取地址,也就是hunting(&p)。但是如果你定义的是Gun &p = new Gun(),那么gun本来就是代表的地址,所以直接使用即hunting(p),根据题目知道最后需要释放内存,所以肯定是在堆上定义的,所以应该使用Gun &p = new Gun()这种形式。

C++远征之多态篇

本教程将带领大家体会面向对象三大特性中的多态特性

66250 学习 · 314 问题

查看课程