我是对象编程和c ++的新手。
我正在应用SoloLearn c ++课程中关于类继承的内容。
阶级敌人: enemy.h
class enemy
{
public:
enemy();
~enemy();
void setAttackPower();
protected:
int aP;
};
enemy.cpp :
#include "enemy.h"
#include <iostream>
using namespace std;
enemy::enemy()
{
cout << "constructor" << endl;
}
enemy::~enemy()
{
cout << "destructor" << endl;
}
int aP=0;
void setAttackPower(int a) {
aP = a;
}
类忍者,继承敌人: 的 ninja.h :
#include "enemy.h"
class ninja: public enemy
{
public:
ninja();
~ninja();
void attack();
};
ninja.cpp :
#include "ninja.h"
#include <iostream>
using namespace std;
ninja::ninja()
{
}
ninja::~ninja()
{
}
void attack() {
cout << "Ninja attack " << aP << endl;
}
,错误是:
标识符&#34; aP&#34;未定义。我看不出问题所在。任何人都可以帮助我吗?
答案 0 :(得分:0)
enemy.cpp int aP = 0; 您创建了2个具有相同名称的值:1st属于class,2nd是全局值。编译器无法确定您尝试使用哪一个。