在 C++ 中将函数获取和设置为虚拟函数

get and set functions as a virtual in c++

本文关键字:函数 设置 虚拟 获取 C++      更新时间:2023-10-16
#include<iostream>
using namespace std;

class Enemy{
public:
virtual void attack(){};
virtual void setAttack(){};
virtual int getAttack();
};
class Ninja: public Enemy{
private:
int apn;
public:
int getAttack(){return apn;};
void setAttack(int a){apn=a_}
void attack(){
cout<<"Ninja attach with"<< apn <<endl;
};
};
class Monster: public Enemy{
private:
int apm;
public:
int  getAttack(){return apm;};
void setAttack(int b){apm=b;}
void attack(){
cout<<"Monster attack with"<< apm << endl;
};
};
int main(){
Ninja n;
Monster m;
n.setAttack(2);
m.setAttack(3);
n.attack();
m.attack();
return(0);

我试图将 get 和 set 函数初始化为虚拟函数,但我的代码不起作用?

我解决了这个问题的问题。

我用这个改变了我的敌人职业

class Enemy{
public:
virtual void attack(){};
virtual void setAttack(){};
virtual int getAttack()=0;
};