【问题标题】:accumulate variables in a class in C++在 C++ 中的类中累积变量
【发布时间】:2013-11-26 05:09:27
【问题描述】:

我有一个包含一些成员函数的类,我想积累和持有价值。这是我的主要内容:

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 都应该有一个我可以从中找到最高值的值。

如何让每个成员函数累积并保持其值?

【问题讨论】:

  • 听起来你只需要一个 a、b 和 c 的成员变量来保持分数。您的Class 代码将比您的main() 代码更有用。哦,它是很酷的 fezzes gph.is/15wg5Qv
  • 您应该从编译代码开始,然后只询问值而不累积它们。小步骤...
  • 您想获得每个选择的次数?如果是这样,为什么不在 switch case 中设置一些特定于 A、B、C 的计数器?
  • 那么要记住值,您可能需要使用成员变量。在您的 C++ 书籍(或 Wikipedia 之类的)中查找它们。
  • 我很确定 Class(); 没有做你认为它正在做的事情。

标签: c++ class member-functions


【解决方案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; }
};

【讨论】:

  • 感谢您的帮助!我在想我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多