关于运算符重载中使用模板的问题我现在有两个typedef类型typedef vectorint sumTypetypedef vectorflo
关于运算符重载中使用模板的问题
我现在有两个typedef类型
typedef vector<int> sumType;
typedef vector<float> muType;
然后我进行如下操作
sumType sum1, sum2, sum;
sum1.push_back(1);
sum1.push_back(2);
sum1.push_back(3);
sum2.push_back(4);
sum2.push_back(5);
sum2.push_back(6);
muType mu1, mu2, mu;
mu1.push_back(.1);
mu1.push_back(.2);
mu1.push_back(.3);
mu2.push_back(.4);
mu2.push_back(.5);
mu2.push_back(.6);
我现在想实现sum = sum1 + sum2和mu = mu1 + mu2,结果sum[0] = 4, sum[1] = 7, sum[2] = 9,mu依此类推
我需要重载+,我想利用模板,不想重载两次+,请问怎么写呢
[解决办法]
- C/C++ code
template<typename T>vector<T> Add(vector<T> vt1, vector<T> vt2){ vector<T> sum; ... return sum;} 