我想要做这样的事情代码访问呼叫者数据类型:在成员函数
myType a;
a->foo();
void foo()
{
cout << a->bar();
}
void bar()
{
cout << a->bar2();
}
void bar2()
{
cout << a->bar3();
}
在另一个字,当一个成员函数被调用,可我们用原来的调用者?
我想要做这样的事情代码访问呼叫者数据类型:在成员函数
myType a;
a->foo();
void foo()
{
cout << a->bar();
}
void bar()
{
cout << a->bar2();
}
void bar2()
{
cout << a->bar3();
}
在另一个字,当一个成员函数被调用,可我们用原来的调用者?
什么你可能想要做的是这样的:
#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()
;在有隐藏类成员的其他名称(例如方法参数)的情况下,只有必需,但它可以始终使用可以。
对我来说,它并不清楚你真正要问的是 - foo应该是类myType的方法吗?但是,你可以使用'this'来引用我认为你所指的“原始调用者”(变量'a')。 – codeling 2011-12-27 10:27:41
请说明您的代码示例。它不会编译,也不会清楚地说明你真的想要做什么。 – Alex 2011-12-27 10:30:36
请更好地解释你正在尝试做什么。向我们展示“酒吧”的定义。 – 2011-12-27 10:30:41