【答案解析】(1)应改为“cout<<a<<b<<endl;”。
(2)应改为“this->a+=a;”。
(3)应改为“a+=::a;”。
答案考生文件夹
[解析] 成员函数display打印变量a和b的值,即cout输出a和b的值,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,第1处的语句应改成“cout<<a<<b<<endl”。在func(int a)中,参数a传递进来,其和成员变量a的名称一样,因此第2处的“a+=a”有歧义,从程序的运行结果来分析,TC obj声明对象obj,初始化类成员变量a和b均为0,调用func函数后输出30,说明a为3,b为0,因此这里应该是成员变量与参数a的和赋给成员变量a,正确的写法是“this->a+=a;”。func2函数虽然没有参数,但成员变量a和全局变量a重名,第3处的“a+=a”也会有歧义,分不清楚是全局变量加倍还是类成员变量加倍或者其他情况,调用func2函数后,输出“130”,说明a为13,b为0,因此是成员变量与全局变量a的和赋给成员变量a,正确的写法是“a+=::a;”,“::a”表示是全局变量a。