第五周程序阅读(6)
2015-04-03 19:20
190 查看
#include <iostream> using namespace std; class Test { private: static int val; int a; public: static int func(); static void sfunc(Test &r); }; int Test::val=20; int Test::func() { val+=val; return val; } void Test::sfunc (Test &r) { r.a=25; cout<<"Result3="<<r.a<<endl; } int main() { cout <<"Resultl="<<Test::func()<<endl; Test a; cout<<"Result2="<<a.func()<<endl; Test::sfunc (a); return 0; }
运行结果:
学习心得:第一个是调用func函数,也就是20+20=40,第二次调用的时候,因为val是个静态数据成员,它的值是对象共享的,val的值已经变成了20,,因此输出的结果为40。接下来调用的是sfunc函数,因为也是个静态成员函数,在函数就有定义输出,所以是25。