繁体   English   中英

C ++ Vector2D类操作

[英]C++ Vector2D class operations

我有一个名为Vec2D的类来处理2D矢量操纵。

   Vec2D pos1 = Vec2D( 100, 100 );
   Vec2D pos2 = Vec2D( 100, 100 );

我有运算符重载,所以算术可以更简单。 因此,我可以执行以下操作:

Vec2D difference = pos1-pos2;
float distance = difference .magnitude(); 

我想知道是否可以对我的班级进行这样的算术运算?:

float distance = (pos1-pos2).magnitude();

我尝试编译,但是它给了我奇怪的错误,例如“ Class Vec2D没有迭代器...”,我认为可以解释这的唯一原因是结果中不存在任何类?

这里的问题可能是实现-运算符的方式。 原型应为:

Vec2D operator- (const Vec2D &rhs) const

或课外

Vec2D operator- ( const Vec2D& v1, const Vec2D& v2 )

您的运营商如何申报? 特别是-操作返回类型是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM