您的位置:首页 > 其它

第五周程序阅读(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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: