我的课程中有方法如何返回对象的引用,但我不知道如何在此方法中访问我的attribut。
Particule& update(double timestamp)
{
this->vx += timestamp;
}
vx
是我的对象Particule
的归属。但是,如果我尝试使用vx
访问this
,那么为什么会出错?我认为这样可行。
我的班级定义:
#include <stdio.h>
#include <iostream>
class Particule{
public:
double rx, ry; //position
double vx, vy; //velocity
double fx, fy; //force
double mass; //mass
Particule ();
Particule(double rx, double ry, double vx, double vy, double fx, double fy, double mass);
Particule& update(double timestamp);
friend std::ostream& operator<<(std::ostream& str, Particule const& p)
{
return str <<
"rx : " << p.rx <<
" ry : " << p.ry <<
" vx : " << p.vx <<
" vy : " << p.vy <<
" mass : " << p.mass << '\n';
}
};
我不知道如何在我的方法更新中访问我的对象。我通过object.update(timestamp);
答案 0 :(得分:4)
如果定义在课堂之外,你必须做类似的事情:
Particule& Particule::update(double timestamp)
{
this->vx += timestamp;
return *this;
}