将类对象存储在C 中
Storing class objects in c++
是否可以将类对象存储在array
或vector
中的方法?
我有一个我正在写一些基本分数数学的课程。
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]);
相关文章:
- 如何使用 stl 容器有效地存储对象?(即根据其字段的值进行搜索)
- 线程上下文上的静态存储对象优化
- OOP - 存储对象和服务接口
- 为什么存储对象地址在缓冲区中会导致内存泄漏并删除它们
- 是否保证在销毁所有线程本地存储对象后销毁全局对象
- 使用列表存储对象
- 在c++中存储一个对象或不存储对象的首选方式是什么
- 更好的是:存储对象与存储指针
- 应用程序使用QMAP存储对象时停止响应
- 使用堆栈存储对象
- 如何在 std::map 中存储"对象类型"?
- 我应该如何存储对象
- 在 c++ 中存储对象的最佳策略是什么,确保名称唯一并能够在以后有效地检索它们
- 用于存储对象列表的最佳标准类
- 在C++中存储对象地址的数据结构
- 函子如何维护/存储对象的状态
- 我如何定义一个向量,并用C++在其中存储对象
- 存储对象以备将来使用(在重新启动程序时)
- C++/JNI-存储对象(jobject)在向量和数组中发生意外更改,C++或JNI问题
- 在多个容器中存储对象的最佳实践