C/C++培训
达内IT学院
400-996-5531
1.下列有关类的说法不正确的是(C)。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据类型与变量的关系相似
2.下面(B)项是对构造函数和析构函数的正确定义。
A.void X::X(), void X::~X()
B.X::X(参数), X::~X()
C.X::X(参数), X::~X(参数)
D.void X::X(参数), void X::~X(参数)
3.类的构造函数被自动调用执行的情况是在定义该类的(C)。
A.成员函数时
B.数据成员时
C.对象时
D.友元函数时
4.下列表达方式正确的是(D)。
A.class P
{ public:
int x=15;
void show() {cout<<x}
};
B.class P
{ public:
int x;
void show(){ cout<<x;}
}
C.class P
{ int f; };
f=25;
D.class P
{ public:
int a;
void Seta (int x) {a=x;}
};
5.拷贝构造函数具有的下列特点中,(D)是错误的。
A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的
B.拷贝构造函数只有一个参数,并且是该类对象的引用
C.拷贝构造函数是一般成员函数
D.拷贝构造函数的名字不能用类名
6.有以下程序
#include<iostream>
using namespace std;
class Myclass
{ public:
Myclass( int n) { number=n;}
Myclass( Myclass &other) { number=other.number; }\
~Myclass( ){ }
private:
int number;
};
Myclass fun( Myclass p ) { Myclass temp(p); return temp; }
int main( )
{ Myclass obj1(10), obj2(0);
Myclass obj3( obj1);
obj2=fun( obj3 );
return 0;
}
程序执行时,Myclass类的拷贝构造函数被调用的次数是(B)。
A.5
B.4
C.3
D.2
7.有以下类的定义
Class Point
{ public:
Point(int x=0; int y=0) { _x=x; _y=y; }
void move( int xoff, int yoff ) { _x+=xoff; _y+=yoff; }
void print( ) const
{ cout<<_x<<’,’<<_y<<endl; }
private:
int _x; _y ;
};
下列语句中会发生编译错误的是(D)。
A.Point pt; pt.print( );
B.const Point pt; pt.print( );
C.Point pt; pt.move(1,2);
D.const Point pt; pt.move(1,2);
8.对类的构造函数和析构函数描述正确的是(A)。
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
9.下面关于类的析构函数,说法正确的是(D)。
A.一般成员函数
B.作用是类的初始化
C.作用是对象的初始化
D.对象生命周期结束时由系统自动调用
10.假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为(C)。
A.OneClass(OneClass p);
B.OneClass& (OneClass p);
C.OneClass(OneClass & p);
D.OneClass (OneClass *p);
11.若PAT是一个类,则程序运行时,语句“PAT ( *ad[3]);”,调用PAT的构造函数的次数是(A)。
A.0 B.1
C.2 D.3
12.对于结构体中定义的成员,其默认的访问权限为(C)。
A.public B.protected
C.private D.static
13.下列情况中,不会调用拷贝构造函数的是(B)。
A.用一个对象去初始化同一类的另一个新对象时
B.将类的一个对象赋值给该类的另一个对象时
C.函数的形参是类的对象,调用函数进行形参和实参结合时
D.函数的返回值是类的对象,函数执行返回调用时
14.由于常对象不能被更新,因此(A)。
A.通过常对象只能调用它的常成员函数
B.通过常对象只能调用静态成员函数
C.常对象的成员都是常成员
D.通过常对象可以调用任何不改变对象值的函数
15.this指针是C++语言实现(A)的一种机制。
A.抽象 B.封装
C.继承 D.重载
16.下列有关类的说法不正确的是(D)。
A.类是一种用户自定义的数据类型
B.只有类中的成员函数或类的友元函数才能存取类中的私有数据
C.在类中(用class定义),如果不作特别说明,所有的数据均为私有数据
D.在类中(用class定义),如果不作特别说明,所有的成员函数均为公有数据
17.以下有关析构函数的叙述不正确的是(B)。
A.在一个类只能定义一个析构函数
B.析构函数和构造函数一样可以有形参
C.析构函数不允许用返回值
D.析构函数名前必须冠有符号“~”
18.假定一个类的构造函数为A(int aa, int bb){a=aa++;b=a*++bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为(C)。
A.4和5 B.4和20
C.4和24 D.20和5
19.以下叙述中不正确的是(C)。
A.一个类的所有对象都有各自的数据成员,可以共享函数成员
B.一个类中可以有多个同名的成员函数
C.一个类中可以有多个构造函数、多个析构函数
D.在一个类中可以声明另一个类的对象作为它的数据成员
20.以下不属于构造函数特征的是(D)。
A.构造函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定函数类型
21.以下有关类和对象的叙述不正确的是(C)。
A.任何一个对象都归属于一个具体的类
B.类与对象的关系和数据类型与变量的关系相似
C.类的数据成员不允许是另一个类的对象
D.一个类可以被实例化成多个对象
22.设有定义:
class person
{ int num;
char name[10];
public:
void init(int n, char *m);
...
};
person std[30];
则以下叙述不正确的是(D)。
A.std是一个含有30个元素的对象数组
B.std数组中的每一个元素都是person类的对象
C.std数组中的每一个元素都有自己的私有变量num和name
D.std数组中的每一个元素都有各自的成员函数init
23.设有以下类的定义:
class Ex
{ int x;
public:
void setx(int t=0);
};
若在类外定义成员函数setx(),以下定义形式中正确的是(B)。
A.void setx(int t) { ... }
B.void Ex::setx(int t) { ... }
C.Ex::void setx(int t) { ... }
D.void Ex::setx(){ ... }
24. 对于一个类,下列叙述中错误的是(B)。
A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数
C.如果没有定义构造函数,编译器将一定生成一个缺省的构造函数和一个拷贝构造函数
D.如果已经定义了构造函数和一个拷贝构造函数,编译器将不会生成任何构造函数
25. 下列语句中错误的是(A)。
A.const int a;
B.const int a=10;
C.const int *point=0
D.const int *point=new int[10];
26. 有下列类的定义中错误的语句是(D)。
class Foo
{ public:
Foo(){ } // (1)
Foo(int v):value(v) { } // (2)
~Foo(){ } // (3)
private:
int value=0; // (4)
};
A. (1)
B. (2)
C. (3)
D. (4)
27. 若Sample类中的一个成员函数说明如下:void set(Sample &a),则Sample &a的含义是(B)。
A.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数set( )的形参
C.将a的地址赋给变量set
D.变量Sample与a按位与的结果作为函数set的参数
28. 假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数为(B)。
A.3 B.4
C.5 D.9
29. 下列不具有访问权限属性的是(A)。
A.非类成员 B.类成员
C.数据成员 D.函数成员
30. 关于对象概念的描述中,说法错误的是(A)。
A.对象就是C语言中的结构变量
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved