這個代碼不能通過是什么問題
#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;
}
2018-07-14
。。。沒事了 大小寫寫錯了。。。。。。。。
2018-07-14
構造一個函數的時候將 Canshut 改成 Gun 編譯可以通過? 但是老師的代碼那里寫的就是Canshut