Накапливать переменные в классе в C++
У меня есть класс с несколькими функциями-членами, которые я хотел бы накапливать и хранить значение. Это то, что в моей главной:
Class();
displayLogo();
char choice;
Class score;
cout << "1. Which of these is the coolest?" << endl
<< "a. Bowties" << endl
<< "b. Converse sneakers" << endl
<< "c. Leather jackets" << endl;
cin >> choice;
switch(choice){
case 'a': score.setA(1);
break;
case 'b': score.setB(1);
break;
case 'c': score.setC(1);
break;
}
Для каждой функции-члена я хочу, чтобы число накапливалось каждый раз, когда делается определенный выбор, и чтобы оно содержало значение. В конце A, B и C все должны иметь значение, из которого я бы нашел самое высокое.
Как заставить каждую функцию-член накапливать и хранить ее значение?
1 ответ
Решение
Предполагая, что требование требует, чтобы вы использовали класс для этого, прямой подход заключается в том, чтобы просто хранить счетчик для каждой буквы как часть состояния данного экземпляра. Простой пример:
class score_counter
{
int a, b, c;
public:
score_counter() : a(), b(), c() {}
void countA() { ++a; }
void countB() { ++b; }
void countC() { ++c; }
int A() const { return a; }
int B() const { return b; }
int C() const { return c; }
};