#include <iostream>
using namespace std;
class Enemy{
protected:
int attackPower;
public:
void setAttackPower(int a){
attackPower=a;
}
};
class Ninja: public Enemy{
**Public:**
void attack()
{
cout<< "I am ninja chop!" << attackPower<< endl;
}
};
class Monster: public Enemy{// step 4,Ninja inherits enemy
**Public:**
void attack()
{
cout<< "Monster must eat you!!!" << attackPower<< endl;
}
};
int main(){
Ninja n;
Monster m;
Enemy *enemy1 = &n;
Enemy *enemy2= &m;
enemy1->setAttackPower(29);
enemy2->setAttackPower(99);
n.attack();
m.attack();
}
错误:“ 公开”未命名类型。它同时面向Ninja和Monster类,因此我无法同时访问Ninja和Monster中的Attack()函数
答案 0 :(得分:1)
将Public:
更改为public:
。
C ++是区分大小写的语言。 “公共”和“公共”是两个完全不同的东西。