/**
* 书本:【ThinkingInC++】
* 功能:对于静态函数的调用
* 时间:2014年9月17日18:12:03
* 作者:cutter_point
*/
#include <fstream>
using namespace std;
class X
{
int i;
static int j;
public:
X(int ii=0) : i(ii) {j=i;}
int val() const {return i;}
static int incr() {return ++j;}
//由于静态成员函数没有this指针,所以它既不能访问非静态的数据成员,也不能调用非静态的成员函数
static int f() {return incr();}
};
//初始化静态数据
int X::j=0;
int main()
{
ofstream out("StaticMemberFunctions.txt");
X x;
out<<x.val()<<endl;
X* xp=&x;
out<<xp->val()<<endl;
x.f();
out<<x.f()<<endl;
xp->f();
out<<xp->f()<<endl;
out<<X::f()<<endl;
return 0;
}
/*
0
0
2
4
5
*/
【ThinkingInC++】54、对于静态函数的调用
最新推荐文章于 2014-10-29 17:54:19 发布