17秋北理工《面向对象程序设计》在线作业Word下载.docx
《17秋北理工《面向对象程序设计》在线作业Word下载.docx》由会员分享,可在线阅读,更多相关《17秋北理工《面向对象程序设计》在线作业Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
4.
派生类对象对它的基类成员中()是可以访问的。
A.公有继承的私有成员
B.公有继承的保护成员
C.公有继承的公有成员
D.私有继承的公有成员
5.
定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A.int*p=newint[30]
B.int*p=newint(30)
C.int*p=new[30]int*p=new[30]
D.*p=newint[30]
A
6.
多继承时对象的构造顺序中包含如下4步:
①所有非虚基类的构造函数按照它们被继承的顺序构造;
②所有虚基类的构造函数按照它们被继承的顺序构造;
③所有子对象的构造函数按照它们声明的顺序构造;
④派生类自己的构造函数体;
这4个步骤的正确顺序是()。
A.④③①②
B.②④③①
C.②①③④
D.③④①②
7.
若函数原型为voidFun(intx,inty=6,intchar='
a'
),则下列调用错误的是()。
A.Fun(5)
B.Fun(5,'
b'
)
C.Fun(5,8)
D.Fun(2,4,'
8.
在横线处填入语句()后,下列语句序列能够正确执行。
。
int*ptr;
delete[]ptr;
A.ptr=newint(5);
B.ptr=newint[5];
C.ptr=newint;
D.ptr=malloc(5);
9.
下列程序的输出结果是()。
#include&
lt;
iostream.h&
gt;
classPart{public:
Part(intx=0):
val(x){cout&
&
val;
}~Part(){cout&
}private:
intval;
};
classWhole{public:
Whole(intx,inty,intz=0):
p2(x),p1(y),val(z){cout&
}~Whole(){cout&
Partp1,p
A.123321
B.213312
C.213
D.123123
10.
print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。
A.voidprint()const
B.constvoidprint()
C.voidconstprint()
D.voidprint(const)
11.
在下面的类定义中,横线处应填入的内容是()。
classMyClass{private:
staticintcount;
count=0;
A.int
B.staticint
C.intMyClass
D.staticintMyClass:
12.
复制构造函数的参数通常为()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
13.
下列描述中,错误的是()。
A.析构函数中调用虚函数采用静态联编
B.对虚析构函数的调用可以采用动态联编
C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D.构造函数可以声明为虚函数
14.
有如下类声明:
classMyClass{public:
MyClass(){cout&
1;
}};
执行语句MyClassa,b[2],*p[2];
后,程序的输出结果是()。
A.11
B.111
C.1111
D.11111
15.
关于封装,下列说法中不正确的是()。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
16.
下列关于构造函数和析构函数的描述中,错误的是()。
A.构造函数可以重载
B.析构函数名与类名相同
C.构造函数中可以设置参数的默认值
D.类中只有一个析构函数
17.
C++中用于实现运行时多态性的是()。
A.内联函数
B.重载函数
C.静态函数
D.虚函数
18.
下列关于继承的描述中,错误的是()。
A.派生类对象不能访问基类的保护成员
B.派生类对基类成员的访问权限随着继承方式而改变
C.派生类成员可以访问基类的私有成员
D.派生类继承了基类的所有成员
19.
下列函数中,不是类的成员函数的是()。
B.友元函数
C.析构函数
D.复制构造函数
20.
下列语句中,会产生编译错误的是()。
A.intx=5;
int&
amp;
ref=x;
B.constintsize;
C.intx=5;
x++;
D.constintsize=100;
21.
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承时基类中的private成员在派生类中仍是private的
C.私有继承时基类中的public成员在派生类中是private的
D.保护继承时基类中的public成员在派生类中是protected的
22.
'
A'
;
}MyClass(charc){cout&
c;
}~MyClass(){cout&
B'
intmain(){MyClassp1,*p2;
p2=newMyClass('
X'
);
deletep2;
return0;
A.ABX
B.ABXB
C.AXB
D.AXBB
23.
不可以成为类的数据成员的是______
A.自身类的对象
B.另一个类的对象
C.自身类的指针或引用
D.其他基本数据类型
24.
下列描述中,()不是面向对象系统包含的要素。
A.对象
B.类
C.继承
D.函数
25.
执行下列程序后的输出结果是()。
intfun1(intx){return++x;
}intfun2(int&
x){return++x;
}intmain(){inta=0,b=0,c=0;
c=fun1(a)+fun2(b);
cout&
a&
b&
c&
endl;
}
A.002
B.012
C.102
D.112
26.
在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数个数
B.参数类型
C.函数名称
D.函数体
27.
有如下类定义:
intgetRef()const{return&
a;
}intgetValue()const{returna;
}voidset(intn)const{a=n;
}friendvoidshow(MyClassobj)const{cout&
下列函数中,定义正确的是()。
A.getRef
B.getValue
C.set
D.show
28.
下列关于this指针的描述中,正确的是()。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数都有this指针
29.
设置虚基类的目的是()。
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
30.
设置虚基类的目的是_____。
A.简化程序;
B.消除二义性;
C.提高运行效率;
D.减少目标代码;
31.
下列对引用的陈述中不正确的是()。
A.每一个引用都是其所引用对象的别名,因此必须初始化
B.形式上针对引用的操作实际上作用于它所引用的对象
C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D.不需要单独为引用分配存储空间
32.
在下列函数原型中,可以作为类A构造函数的是()。
A.voidA(int);
B.intA();
C.A(int)const;
D.A(int);
33.
下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;
B.运算符重载可以改变优先级;
C.运算符重载可以改变结合性;
D.运算符重载不可以