Pal*_*shV 4 c++ class function c++11
我是C++的新手,我需要一个类成员函数来从自己的定义中调用自己,就像这样 -
class MyClass {
public: // or private: ?
// Some code here
// ...
void myfunction();
// ...
};
void MyClass::myfunction()
{
// Some code here
// ...
// Call MyClass::myfunction() here, but how?
// ...
}
Run Code Online (Sandbox Code Playgroud)
但我不知道它的正确语法,如何在不创建通常像这样的对象的情况下自己调用它 - object_name.member_function()
如果可能的话?
并且,如果myfunction()
属于public:
或会有任何差异private:
吗?
Cor*_*mer 10
由于该功能并非一成不变,你已经做的有一个实例进行操作
void MyClass::myfunction()
{
// Some code here
// ...
this->myfunction();
// ...
}
Run Code Online (Sandbox Code Playgroud)
你可以离开this->
,我只是更清楚如何调用该函数.
myfunction()
在类的范围内,所以你可以“简单地”调用它:
class MyClass {
public:
// Some code here
// ...
void myfunction();
// ...
};
void MyClass::myfunction()
{
myfunction();
}
Run Code Online (Sandbox Code Playgroud)
但请注意,这会导致堆栈溢出。您需要一种方法来停止递归。