我的程序运行正常并且做了它应该做的事情,但使用的符号对我来说似乎并不合适。我有一个包含一些变量和两个函数的类:
foo.h中
class foo{
private:
int a;
public:
void seta1(int value);
void seta2(int value);
};
Foo.cpp中
void foo::seta2(int value)
{
a = value;
}
void foo::seta1(int value)
{
seta2(value);
}
然后当我打印变量a时,它具有应该具有的值,但是这种符号不会更正确吗?
void foo::seta2(int value)
{
this.a = value;
}
答案 0 :(得分:4)
没有。 this
是指针,而不是引用。
this->a = value
是正确的。
在这种情况下隐含this->
(a
在非静态成员函数中访问非静态成员)。在某些情况下,this->
是必需的,但这不是其中之一。
答案 1 :(得分:2)
实际上它应该是this->a
,因为这是一个指针。但是你不需要经常写“this”,因为它暗示了。两者都是正确的。
仅当成员变量被局部变量覆盖时才有用。
例如:
void foo::seta2(int a)
{
this->a = a;
}