我想要做這樣的事情代碼訪問呼叫者數據類型:在成員函數
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