读书人

a+=:a 是什么意思解决方法

发布时间: 2012-03-20 14:01:11 作者: rapoo

a+=::a 是什么意思
才开始学c++,可能问题很幼稚!
一道c++二级上机题
#include <iostream.h>

int a=10;
class C0
{
public:
C0
{
a=b=0;
}
void print()
{
cout < <a < <b < <endl;
}
void fun(int a)
{
this-> a+=ap;
}
void fun2()
{
a+=::a;// 这个语句是什么意思啊?
}
private:
int a,b;
};

void main()
{
C0 obj;
obj.fun(5);
obj.print();
obj.fun2();
obj.print();
}

[解决办法]
a+=::a

1 ::是表示访问全局的变量;
2 x+=y 表示 x=x+y;

所以,
a+=::a
==》
a=a+ ::a (请注意,类内部定义了一个 a成员,同时还又一个全局的 int a, ::a表示访问全局的a)

读书人网 >C++

热点推荐