如何解决此错误:Public未命名类型?

时间:2020-02-01 13:58:38

标签: c++ polymorphism public

#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()函数

1 个答案:

答案 0 :(得分:1)

Public:更改为public:

C ++是区分大小写的语言。 “公共”和“公共”是两个完全不同的东西。