我想做类似这样的代码:
myType a;
a->foo();
void foo()
{
cout << a->bar();
}
void bar()
{
cout << a->bar2();
}
void bar2()
{
cout << a->bar3();
}
换句话说,当调用成员函数时,我们可以使用原始调用者吗?
答案 0 :(得分:2)
答案 1 :(得分:2)
你可能想要做的是这样的事情:
#include <iostream>
class myType {
void foo()
{
std::cout << bar();
}
void bar()
{
std::cout << bar2();
}
void bar2()
{
std::cout << bar3();
}
};
......在例如主要方法:
int main(int argc, char** argv)
{
myType a;
a->foo();
}
在类中,您可以仅通过名称引用同一类的方法,并且它们将在与原始方法相同的对象上调用!如果您想突出显示您指的是同一对象的方法,请使用例如this->bar()
代替bar()
;如果有其他名称(例如方法参数)会隐藏类成员,但可以一直使用