[C/C++]継承させたクラスを作ろう![vector]
妹「さて、じゃあ前回作ったvectorクラスを合計しちゃおうかな」
//youwaka.net 
int main()
{
	double goukei;
	vector<float> imo;
	imo.push_back(1.1);
	imo.push_back(1.2);
	imo.push_back(1.3);
	goukei = 0;
	for (int i = 0; i < imo.size(); i++)
	{
		 goukei += imo.at(i);
	}
	std::cout << "Summary:" << goukei << endl;
}兄「これくらいだったら必要ないけど、継承させるとメインのコードが見やすくなるよ」
妹「継承……?CにはなくてC++にはあるやつだね!」
兄「そうそう」
//youwaka.net 
class vecSum :private vector<float>
{
private:
	double _aniSummary;
public:
	void Add(float floatdata)
        {
		this->push_back(floatdata);
	}
	double Summary()
	{
		_aniSummary = 0;
		for (int i = 0; i < this->size();i++) 
		{
			this->_aniSummary += this->at(i);
		}
		return _aniSummary;
	}
};
//youwaka.net 
兄「こういうクラスを作るんだよ」
妹「作るとどうなるの?」
兄「メインがこう書けるようになる」
//youwaka.net 
int main()
{
	vecSum s;	//Addでデータを追加し、Summaryで合計してくれるクラス
	s.Add(1.1);
	s.Add(1.2);
	s.Add(1.3);
	double goukei = s.Summary();
	std::cout << "Summary:" << s.Summary() << endl;
}
//youwaka.net 
妹「メインは短くなったけど……」
兄「けど?」
妹「分量的にはクラスが増えてるしコード量も増えてるよね。メリットあるの?」
兄「あるよ……」

ディスカッション
コメント一覧
まだ、コメントがありません