c++ - 我如何编辑抽象类的成员
问题描述
假设我有一个向量
vector <Weapon*> W_List;
和那 3 类
class Weapon {
protected:
string name;
int damage;
int level;
public:
Weapon() {
}
virtual void upgradeWeapon() {
}
};
class Dagger : public Weapon {
public:
Dagger(string _name){
this-> name = _name;
this-> damage = 30;
this-> level = 1
}
void upgradeWeapon(int _dmg,int _lvl){
this->damage = _dmg;
this->level = _lvl;
}
};
class Bow : public Weapon {
private:
int range;
public:
bow(string _name){
this-> name = _name;
this-> damage = 50;
this-> level = 2
void upgradeWeapon(int _dmg,int _lvl,int _range){
this-> damage = _dmg;
this-> level = _lvl;
this-> range = _range;
}
};
int main(int argc,char **argv) {
vector <Weapon*> W_List;
if (argv[1] == "new"){
if(argv[2] == "Dagger"){
Dagger* dagger = new Dagger("argv[3]");
W_List.push_back(dagger);
}
else if (argv[2] =="Bow"){
Bow* bot = new Bow("argv[3]");
W_List.push_back(bow);
}
else if(argv[1] == "Upgrade"){
//search in vector and upgrade the weapon
}
}
所以我的问题是如果我给
升级“武器名”70 4
如何在向量中搜索武器名称并升级特定武器的属性?
解决方案
推荐阅读
- eclipse - 没有名为 cairo 的模块 - Mac
- jenkins - Jenkins - 单击可用插件时出现错误立即检查按钮
- amazon-product-api - 使用亚马逊产品广告 API 获取产品类别
- python - 命令“python setup.py egg_info”在 /tmp/pip-install-jsegcbha/mysqlclient/ 中失败,错误代码为 1
- java - JavaFx 套接字编程和发送图像
- javascript - 将时间转换为字符串,如“一分钟前”在 Firefox 中不起作用
- javascript - 需要帮助将变量传递给Angular 2中的对话框
- android - 有没有更短的方法来使用 textView 在 Firebase 数据库中显示数据?
- python - 当两行具有相同的第一个值时如何将一行的数据添加到另一行
- node.js - 我应该重试 ENOENT 错误吗?