前提・実現したいこと
下記の条件を含めて、c1.getCount() + c2.getCount()をクラスCounterの静的メソッドによって出力できるようにしたいです。
よろしければコードを教えて頂けませんでしょうか。
お手数おかけ致しますがお力添えをよろしくお願いいたします。
●条件
1.作成する静的メンバ関数の名前は、getTotalCount()とする。(戻り値はint)
2.この関数内では、トータルのカウント回数を記録した静的メンバ変数を、m_totalCountとする。
該当のソースコード
●main.cpp
#include <iostream> #include "counter.h" using namespace std; 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; //下記の文、c1.getCount() + c2.getCount()を staticメンバ関数( getTotalCount() )によって出力できるようにしたい。 cout << "トータルのカウント数:" << c1.getCount() + c2.getCount() << endl; return 0; }
●counter.h
#ifndef _COUNTER_H_ #define _COUNTER_H_ class Counter{ private: // 回数 int m_count; public: // コンストラクタ Counter(); // リセット void reset(); // カウント void count(); // カウントの数 int getCount(); }; #endif // _COUNTER_H_
●counter.cpp
#include "counter.h" // コンストラクタ(カウント回数を0で初期化) Counter::Counter() : m_count(0) { } void Counter::reset(){ m_count = 0; } void Counter::count(){ m_count++; } int Counter::getCount(){ return m_count; }
実行結果
c1のカウント数:3
c2のカウント数:1
トータルのカウント数:4
> 静的メソッドによって出力できるようにしたい
すみませんが、やりたいことがいまいちよくわからないです。
静的メソッドとは static メンバ関数のことだと理解していますが、それであっていますか?
以下の引数の型 getCount とはなんなのでしょうか?
Counter::getTotalCount(getCount a, getCount b)
tiitoiさんコメントありがとうございます。
>静的メソッドとは static メンバ関数のことだと理解していますが、それであっていますか?
仰るとおりです。
>以下の引数の型 getCount とはなんなのでしょうか?
>Counter::getTotalCount(getCount a, getCount b)
自分で試したコードのごみが残っていました。
申し訳ございません。
削除して訂正いたしました。
operator+() をオーバーロードしたいということでしょうか?
申し訳ございません。operator+()という手法を始めて拝見いたしました。
目的としてはmain.cpp の
cout << "トータルのカウント数:" << c1.getCount() + c2.getCount() << endl;の
c1.getCount() + c2.getCount()を、クラスCounterのstaticメンバ関数によって出力できるようにプログラムを改造したいです。
回答2件
あなたの回答
tips
プレビュー