このクラスには、そのプロパティEnemy
をNinja
継承する名前が付けられています。の攻撃関数で、の関数Ninja
を呼び出そうとしていますが、どうすれば取得できますか。電話をかけてみましたが、つながりませんでした。Ninja
getAttackPower
this.getAttackPower
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Enemy {
int attackPower;
public:
virtual void attack() { cout << "I am attacking you!"; }
protected:
int getAttackPower() {
return attackPower;
}
void setAttackPower( int a ) {
attackPower = a;
}
};
class Ninja : public Enemy {
void attack() {
cout << "(minus " << getAttackPower() << " points).";
// .................. right here ......
}
};
int main() {
Ninja ninjaObj;
ninjaObj.setAttackPower(23);
ninjaObj.getAttackPower();
}
ここに私が得ているエラーがあります:
void Enemy::setAttackPower(int) is protected
error: within this context
error: 'int Enemy::getAttackPower()' is protected
error: within this context