我有一个类上的两个方法,它们只有一个方法调用不同。显然,这非常不符合DRY原则,尤其是两者都使用相同的公式。
int PlayerCharacter::getAttack() {
int attack;
attack = 1 + this->level;
for(int i = 0; i < this->current_equipment; i++) {
attack += this->equipment[i].getAttack();
}
attack *= sqrt(this->level);
return attack;
}
int PlayerCharacter::getDefense() {
int defense;
defense = 1 + this->level;
for(int i = 0; i < this->current_equipment; i++) {
defense += this->equipment[i].getDefense();
}
defense *= sqrt(this->level);
return defense;
}
我该如何在C++中整理这段代码?
attack
和defense
是全局变量还是你省略了它们的定义? - sbi