1、 下面关于类概念的描述中,___D_是错误的。
A.类是抽象数据类型的实现
B.类是具有共同行为的若干对象的统一描述体
C.类是创建对象的样板
D.类是C语言中的结构体类型
2、下列对重载函数的描述中,__A__是错误的。
A.重载函数中不允许使用默认参数
B.重载函数中编译是根据参数表进行选择//与返回值无关,只和函数入口有关
C.不要使用重载函数来描述毫无相干的函数
D.构造函数重载将会给初始化带来多种方式
3、有以下类的说明,请指出错误的地方。
Class sample
{
int a=2.5;//改为int a;
sample();
public:
sample(int val);
~sample();
};
4、有关析构函数的说法不正确的是_C___。
A、析构函数有且只有一个
B、析构函数无任何函数类型
C、析构函数和构造函数一样可以有形参
D、析构函数的作用是在对象被撤消时收回先前分配的内存空间
5、下列说法中正确的是___B_。
A.类定义中只能说明函数成员的函数头,不能定义函数体
B.类中的函数成员可以在类体中定义,也可以在类体之外定义
C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D.在类体之外定义的函数成员不能操作该类的私有数据成员
6、下列定义中,sample是一个类,___B_是定义指向对象数组的指针P。
A. sample *p[5]
B. sample (*p)[5]
C. (sample *p)p[5]
D. sample *p[]
7、下列程序的执行结果是
Class sample
{
Public:
Sample(){cout<<”constructor”<<endl;}
};
Void fn(int i)
{
Staticsample c;
Cout<<”i=”<<i<<endl;
}
Void main()
{
fn(10);
fn(20);
}
--------
constructor
i=10
i=20
8、改正下列程序中的错误
Class point
{
intx,y;
public:
point(intx,int y);
};
Void main()
{
Pointdata(5,5);
Cout<<data.x<<endl;
Cout<<data.y<<endl;
}
------
class point
{
public:
point(int a,int b){x=a;y=b;}
int x,y;
};
int main()
{
point data(5,5);
cout<<data.x<<endl;
cout<<data.y<<endl;
return 0;
}
9、找出程序中的错误,并说明原因
Class sample
{
Public:
Static voidf(sample my);
Private: int n;
};
Void sample::f()
{
Cout<<n<<endl;
}
-------------
静态成员函数不可以访问非静态成员。
10、阅读以下程序,找出错误的地方,并说明原因。
Class sample
{
intx,y,c;
public:
sample(inti=0,int j=0);
void f() const;
};
Voidsample::f() const
{
Cout<<x<<””<<y<<endl;
c++;
}
-------
Const函数不可以改变变量的值<