【发布时间】:2020-10-17 20:15:18
【问题描述】:
我需要一个函数来使用operator+向v[i]添加值
向量v 包含值10,2 和3。
#include <iostream>
#include <vector>
template<typename T>
class Measurement
{
private:
T val;
public:
Measurement(T a)
: val{ a }
{}
T value() const { return val; }
Measurement<T>& operator+(const T& nr)
{
//... ???
return *this;
}
};
int main()
{
//create a vector with values (10,2,3)
std::vector<Measurement<int>> v{ 10,2,3 };
v[2] + 3 + 2; //add at v[2] value 5
for (const auto& m : v) std::cout << m.value() << ",";
return 0;
}
结果必须是10,2,8
【问题讨论】:
标签: c++ class c++11 templates operator-overloading