将类对象存储在C 中

Storing class objects in c++

本文关键字:存储 对象      更新时间:2023-10-16

是否可以将类对象存储在arrayvector中的方法?

我有一个我正在写一些基本分数数学的课程。

Fraction fraction_1(a,b);

有没有办法存储每个方法,以便我可以在程序后来添加,减去,乘以所有分数?

理想情况下,我希望能够说List[2] + List[3](这将使用我的超载操作员进行分数添加)?

我完全被困住了,试图找出一个很好的方法,因为我在C 中没有太多的经验。

是的,您可以定义向量并将元素添加到其中:

std::vector<Fraction> fv;
fv.push_back(Fraction(a, b));
fv.push_back(Fraction(a, c));
fv.push_back(Fraction(d, c));

您可以与任何内置类型的方式完全相同。即。

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";

您可能必须超载运算符 , - ,乘法和划分才能按照您想要的方式工作。

您可以将任何类型的数据存储在容器中,例如向量,因为它们被模板。

vector <Fraction> array;
array.push_back(Fraction(10, 20));
array.push_back(Fraction(30, 40));
array2.push_back(array[0] + array[1]);