在其他类函数c ++中调用类函数

时间:2015-12-05 23:56:48

标签: c++

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

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

2 个答案:

答案 0 :(得分:4)

没有。 this是指针,而不是引用。

this->a = value是正确的。

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

答案 1 :(得分:2)

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

仅当成员变量被局部变量覆盖时才有用。

例如:

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