這什么意思?和答案一模一樣也過不了
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
/**
?* 定義人的類: Person
?* 數據成員姓名: m_strName
?* 成員函數: eat()
?*/
class Person
{
public:
? ? string m_strName;
void eat()
{
cout << "eat" << endl;
}
};
/**
?* 定義士兵類: Soldier
?* 士兵類公有繼承人類: public
?* 數據成員編號: m_strCode
?* 成員函數: attack()
?*/
class Soldier : public Persen
{
public:
string m_strCode;
void attack()
{
cout << "fire!!!" << endl;
}
};
int main(void)
{
? ? // 創建Soldier對象
Soldier soldier;
? ? // 給對象屬性賦值
? ? soldier.m_strName = "Jim";
soldier.m_strCode = "592";
? ? // 打印對象屬性值
cout << soldier.m_strName << endl;
cout << soldier.m_strCode << endl;
? ? // 調用對象方法
soldier.eat();
soldier.attack();
return 0;
}
運行失敗
index.cpp:28:1: error: expected class-name before '{' token
?{
?^
index.cpp: In function 'int main()':
index.cpp:42:13: error: 'class Soldier' has no member named 'm_strName'; did you mean 'm_strCode'?
? ? ?soldier.m_strName = "Jim";
? ? ? ? ? ? ?^~~~~~~~~
index.cpp:45:18: error: 'class Soldier' has no member named 'm_strName'; did you mean 'm_strCode'?
? cout << soldier.m_strName << endl;
? ? ? ? ? ? ? ? ? ^~~~~~~~~
index.cpp:48:10: error: 'class Soldier' has no member named 'eat'
? soldier.eat();
? ? ? ? ? ^~~
2021-01-27
沒錯。
2020-02-17
繼承 類名寫錯了,你那寫成Persen了