Накапливать переменные в классе в 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; }
};
Другие вопросы по тегам