2013-11-26 7 views
0

У меня есть класс с несколькими функциями-членами, которые я хотел бы скопировать и сохранить значение. Это то, что в моем главном:накапливать переменные в классе в 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 должны иметь значение, из которых я бы нашел наивысший.

Как получить функцию каждого члена для накопления и сохранения его значения?

+0

Похоже, вам просто нужна переменная-член для a, b & c, чтобы вести счет. Ваш код 'Class' был бы более полезным, чем ваш код' main() 'здесь. О, и это фейки, которые круты. Http://gph.is/15wg5Qv – Johnsyweb

+1

Вы должны начать с кода, который компилируется и просто запрашивает значения без их накопления. Маленькие шаги ... – hyde

+0

Вы хотите получить количество раз, когда каждый выбор сделан? если это так, почему бы просто не использовать некоторые счетчики для A, B, C в случаях переключения? – Nik

ответ

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; } 
}; 
+0

Благодарим за помощь! Я слишком думал о своей проблеме. – MleeStraing