【发布时间】:2016-01-30 03:40:18
【问题描述】:
目前只是搞乱重载类型并返回不同的东西,但是这个错误让我很困惑,我不知道如何用谷歌搜索它。
我的想法是,我有一个“2dvector”类,我想将点积返回为单个值,而不是向量形式。 例子: 浮动 dproduct = vec_a * vec_b;
我已经成功地将“*”重载为我班级的点积。尽管我对如何获取两个类感到困惑,但将点积作为单个值,并将其返回为不同的类型。
我现在的想法是这样的:
const float operator= (vec2& right);
const float vec2::operator= (vec2& right){
return (right.x + right.y);
}
由于 vec_a * vec_b 将返回“vec_c”结果,因此右侧应该正确评估。
【问题讨论】:
-
点积不是标量数吗?你不是说你已经在两个向量上实现了'*'操作作为叉积,它返回一个向量。
-
您不能重载类型。您可以重载函数,基于它们采用的参数类型。
标签: c++ class overloading