Я практикую c ++ и застрял в следующих кодах, пытаясь их оптимизировать. Я хотел бы знать, могу ли я что-то сделать, чтобы оптимизировать реализацию их метода. Потому что методы такие же, за исключением минусов. Заранее спасибо.
dominios.h
class HP {
private:
int valor;
static const int LIMITE_INFERIOR = 0;
static const int LIMITE_SUPERIOR = 1000;
public:
void setValor(int);
int getValor() {
return valor;
}
};
class MP {
private:
int valor;
static const int LIMITE_INFERIOR = 0;
static const int LIMITE_SUPERIOR = 500;
public:
void setValor(int);
int getValor() {
return valor;
}
};
dominios.cpp
void HP::setValor(int valor) {
if (valor < LIMITE_INFERIOR) this->valor = LIMITE_INFERIOR;
else if (valor > LIMITE_SUPERIOR) this->valor = LIMITE_SUPERIOR;
else this->valor = valor;
}
void MP::setValor(int valor) {
if (valor < LIMITE_INFERIOR) this->valor = LIMITE_INFERIOR;
else if (valor > LIMITE_SUPERIOR) this->valor = LIMITE_SUPERIOR;
else this->valor = valor;
}
Как видите, setValor обоих классов одинаковы. Я пытался создать иерархию, используя «шаблон», но это не помогло мне из-за недостатков.