0

クラス オブジェクトをarrayまたはvectorC++ に格納する方法はありますか?

基本的な分数計算を行うために書いているクラスがあります。

Fraction fraction_1(a,b);

プログラムの後半ですべての分数を加算、減算、乗算できるように、それらのそれぞれを保存する方法はありますか?

List[2] + List[3]理想的には、(オーバーロードされた演算子を使用して分数の加算を行う)と言うことができるようにしたいですか?

C ++でのベクトルの経験があまりないため、これを行う良い方法を見つけようとして完全に行き詰まっています。

4

3 に答える 3

2

Yes, you can define a vector and add your elements to it:

std::vector<Fraction> fv;

fv.push_back(Fraction(a, b));
fv.push_back(Fraction(a, c));
fv.push_back(Fraction(d, c));
于 2012-10-18T20:36:23.090 に答える
1

You can do it in exactly the same way as you would for any built in type. i.e.

std::vector<int> foo;
std::vector<MyClass> bar;
std::vector<std::string> baz;

foo.push_back(1);
bar.push_back(my_class_object);
baz.push_back("hello");

foo[0] = 2;
bar[0] = my_other_object;
baz[0] = "world";
于 2012-10-18T20:36:26.647 に答える
0

You might have to overload operators +, -, multiply and division for it to work the way you want it to.

You can store ANY type of data in a CONTAINER such as vector because they're templated.

vector <Fraction> array;
array.push_back(Fraction(10, 20));
array.push_back(Fraction(30, 40));

array2.push_back(array[0] + array[1]);
于 2012-10-18T20:36:06.490 に答える