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

这个代码不能通过是什么问题

#include <iostream>

#include <stdlib.h>

#include <string>

using namespace std;


/**

 * 定义射击类:CanShut

 * 定义纯虚函数:aim、reload

 */

class CanShut

{

public:

    virtual void aim() =0;

    virtual void reload() =0;

};


/**

 * 定义枪类:Gun

 * 公有继承射击类

 * 实现成员函数:aim、reload

 */

class Gun : public CanShut

{

public:

    virtual void aim()

    {

         cout << "Gun -- aim" << endl;

    }

    virtual void reload()

    {

         cout << "Gun -- reload" << endl;

    }

};


/**

 * 定义含参函数射击:hunting

 * 调用参数的aim与reload函数

 */

void hunting(Canshut *s)

{

    s->aim();

    s->reload();

}


int main(void)

{

    // 实例化枪对象

    Gun *g1=new Gun;

    // 调用含参函数hunting,将对象枪传入函数中

    hunting(g1);

    // 释放内存

    delete g1;

    g1=NULL;


    return 0;

}


正在回答

2 回答

。。。没事了 大小写写错了。。。。。。。。

0 回复 有任何疑惑可以回复我~

构造一个函数的时候将 Canshut 改成 Gun 编译可以通过  但是老师的代码那里写的就是Canshut

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66236    人
  • 解答问题       314    个

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

进入课程

这个代码不能通过是什么问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信