调用成员函数来自C ++中同一个类的另一个成员函数,目标C

时间:2011-02-08 06:42:46

标签: c++ objective-c function static-methods member

请考虑以下事项:

class A{

    //data members

    void foo()
    {
        bar();//is this possible? or should you say this->bar() note that bar is not static
    }
    void bar()
    {

    }
}//end of class A

如何从另一个内部调用成员函数?静态函数如何影响'this'的使用。 应该在对象上调用函数吗?

2 个答案:

答案 0 :(得分:6)

Nawaz是正确的:'这'是隐含的。唯一的例外是foo是静态函数,因为在静态函数中没有'this'。在这种情况下,你不能使用bar(),除非bar()也是一个静态函数,你根本不能使用this-> bar()。

答案 1 :(得分:2)

bar();//is this possible? or should you say this->bar()

this是隐含的。所以它们都是等价的。你可以使用它们中的任何一个。但是我认为,如果仅bar()就足够了,为什么要使用this->bar()

仅在存在歧义时使用this,否则请使用更简单的一个!