c1のカウント数とc2のカウント数を足したものをトータルのカウント数で出力したいのですが、c2のカウント数が出力されます。足し方が分かりません。トータルのカウント数:4になってほしいです。
現状で以下のように出力されます。
m_count:1
m_totalCount:1
m_count:1
m_totalCount:1
m_count:2
m_totalCount:2
reset count:0
m_count:2
m_totalCount:2
m_count:3
m_totalCount:3
m_count:1
m_totalCount:1
c1のカウント数:3
c2のカウント数:1
トータルのカウント数:1
#include <iostream>
using namespace std;
class Counter {
private:
// 回数
int m_count;
static int m_totalCount;
public:
// コンストラクタ
Counter();
// リセット
void reset();
// カウント
void count();
// カウントの数
int getCount();
static int getTotalCount();
};
int Counter::m_totalCount = 0;
// コンストラクタ(カウント回数を0で初期化)
Counter::Counter() : m_count(0)
{
}
void Counter::reset() {
m_count = 0; cout << "reset count:" << m_count << endl;
}
void Counter::count() {
m_count++; m_totalCount = m_count; cout << "m_count:" << m_count << endl; cout << "m_totalCount:" << m_totalCount << endl;
}
int Counter::getCount() {
return m_count;
}
int Counter::getTotalCount() {
return m_totalCount ;
}
int main() {
Counter c1, c2;
c1.count();
c2.count();
c2.count();
c2.reset();
c1.count();
c1.count();
c2.count();
cout << "c1のカウント数:" << c1.getCount() << endl;
cout << "c2のカウント数:" << c2.getCount() << endl;
//Counter::getTotalCount() = c1.getCount() + c2.getCount(); cout << "トータルのカウント数:" << Counter::getTotalCount() << endl; return 0;
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。