C++ 在其他类函数c++;

C++ 在其他类函数c++;,c++,C++,我的程序运行良好,做了它应该做的事情,但使用的符号对我来说似乎不正确。我有一个包含一些变量和两个函数的类: 福安 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; } 否

我的程序运行良好,做了它应该做的事情,但使用的符号对我来说似乎不正确。我有一个包含一些变量和两个函数的类:

福安

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;
}

否。
是指针,不是引用

此->a=值
是正确的


this->
在这种情况下是隐含的(
a
在非静态成员函数中访问的非静态成员)。有些情况下需要
this->
,但这不是其中之一。

否。
this
是指针,而不是引用

此->a=值
是正确的


this->
在这种情况下是隐含的(
a
在非静态成员函数中访问的非静态成员)。有些情况下需要
this->
,但这不是其中之一。

实际上应该是
this->a
,因为这是一个指针。然而,你不需要经常写“这个”,因为它是隐含的。两者都是正确的

这仅在成员变量被局部变量覆盖时有用

例如:

void foo::seta2(int a)
{
     this->a = a;
}

实际上它应该是
this->a
,因为这是一个指针。然而,你不需要经常写“这个”,因为它是隐含的。两者都是正确的

这仅在成员变量被局部变量覆盖时有用

例如:

void foo::seta2(int a)
{
     this->a = a;
}

您认为语法有什么问题?为什么?
这个。a
无法编译,所以它已经“不太正确”@Ericsir先生,自从我开始学习java以来,我一直觉得它可能是不正确的。函数
seta1
在这个问题上似乎是多余的。@Beta为了更好地理解它被简化了。你认为语法有什么错,为什么?
这个。a
不会编译,所以它已经“不太正确”@MrEricSir自从我开始学习java以来,我一直觉得它可能不正确。函数
seta1
在这个问题上似乎是多余的。@Beta为了更好地理解它被简化了。