一些代码:请参阅下面的 myClass 类。它有一个构造函数和一个公共递归函数 find。请看代码:
#include <iostream>
using namespace std;
class myClass{
public:
myClass() {
//do stuff
}
int find(int i) {
static int j = 10;
if (i > 15)
return i;
j = j + 1;
return i * find(j + 1);
}
};
int main()
{
myClass mC1 ,mC2;
cout<< " 1.... return value = "<< mC1.find(10);
cout<< " \n 2... return value = "<< mC2.find(10);
return 1;
}
输出:
1.... return value = 5241600
2.... return value = 170
上面的程序有一个类 myclass 有一个函数 find .. “find” 函数有一个 variabe 。这是静态的,因为我想要一个递归函数。问题是静态变量具有程序的生命并绑定到类。
但是我希望静态是对象特定的而不是类范围。我希望这两个函数调用都返回相同的值。
简而言之,如何在类函数中创建一个静态变量,使其成为每个对象而不是整个类......