#include<iostream.h>
class f{
private:int x=0,y=0;
public:void f1(int a,int b){x=a;y=b;}
void get(){cout<<x<<','<<y<<endl;}
};
main(){
f a;
a.f1(1,3);
a.get();
}

改错题:以下程序中有一处错误,请抄写有错误的语句并指出错误原因。


#include<iostream.h>
class f{
private:int x=0,y=0;
public:void f1(int a,int b){x=a;y=b;}
void get(){cout<<x<<','<<y<<endl;}
};
main(){
f a;
a.f1(1,3);
a.get();
}


【正确答案】:

PRIVATE:INT X=0,Y=0;错误。

数据成员声明时不允许直接赋值


【题目解析】:

成员变量和成员函数的名字必须是合法的标识符,它们的声明必须在类体内完成。

类中的成员变量不能在声明时进行初始化,也就是说,不能在类体内声明成员变量的同时给它赋初值(类中的静态成员变量除外)


Top