|
C++程序设计17春在线作业1
一、单选题:【20道,总分:60分】东师在线作业为随机作业,请联系QQ515224986代做
1.C++是一种( )的程序设计语言。 (满分:3)
A. 面向对象
B. 即可面向过程,又可面向对象
C. 面向过程
D. 面向系统
2.get( )函数的功能是从输入流中读取( )。 (满分:3)
A. 一个字符
B. 当前字符
C. 一行字符
D. 指定若干个字符
3.当派生类中有和基类一样名字的成员时,如果没有使用类名加以限制,则( )。 (满分:3)
A. 基类的同名成员将覆盖派生类的成员
B. 将产生二义性
C. 派生类的同名成员将覆盖基类的成员
D. 是不允许的
4.构造函数是一种特殊的成员函数,显式定义时其访问属性应被定义为( )。 (满分:3)
A. public
B. private
C. protected
D. static
5.面向对象的程序设计语言必须具备的关键要素是( )。 (满分:3)
A. 抽象和封装
B. 抽象和多态性
C. 抽象、封装、继承和多态性
D. 抽象、封装和继承性
6.C++的继承性允许派生类继承基类的( )。 (满分:3)
A. 部分特性,并允许增加新的特性或重定义基类的特性
B. 部分特性,但不允许增加新的特性或重定义基类的特性
C. 所有特性,并允许增加新的特性或重定义基类的特性
D. 所有特性,但不允许增加新的特性或重定义基类的特性
7.要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是( )。 (满分:3)
A. ifstream inf("D:\\File txt",ios::in);
B. ifstream inf("D:\\File.txt");
C. ofstream inf("D:\\File.txt",ios::out);
D. fstream inf("D:\\File.txt",ios::in|ios::out);
8.构造函数是在( )时被执行的。 (满分:3)
A. 程序编译
B. 创建对象
C. 创建类
D. 程序装入内存
9.假设已经有定义const char*const name="chen"; 下面的语句中正确的是( )。 (满分:3)
A. name[3]= 'a';
B. name="lin";
C. name=new char[5];
D. cout<<name[3];
10.以下基类中的成员函数中表示纯虚函数的是( ) 。 (满分:3)
A. virtual void vf(int);
B. virtual void vf(int)=0;
C. virtual void vf(int=0);
D. virtual void vf(int){ };
11.假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为( )。 (满分:3)
A. classA::~classA( ){}
B. classA::classA( ){}
C. classA::~classA(int=0){}
D. void classA::~classA( ){}
12.下面不能作为函数的返回类型的是( )。 (满分:3)
A. new
B. int
C. long
D. void
13.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f (满分:3)
A. A::func2( )和B::func1( )都是虚函数
B. A::func2( )和B::func1( )都不是虚函数
C. B::func1( )是虚函数,而A::func2( )不是虚函数
D. B::func1( )不是虚函数,而A::func2( )是虚函数
14.下列选项中,( )是istream类的对象。 (满分:3)
A. cin
B. cout
C. cerr
D. clog
15.如果在类A中用友元函数的方式重载了后缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是( )。 (满分:3)
A. operator++(a,0);
B. a.operator++( );
C. a.operator++(0);
D. ++a;
16.假定一个类的构造函数为“B(int a, int b):a(ax),b(bx){}”, 则执行“B x(6,5);y(3,2);”语句序列后,x.a的值为( )。 (满分:3)
A. 2
B. 3
C. 5
D. 6
17.下面叙述不正确的是( )。 (满分:3)
A. 基类的保护成员在保护派生类中仍然是保护的
B. 基类的保护成员在公有派生类中仍然是保护的
C. 基类的保护成员在私有派生类中仍然是保护的
D. 对基类成员的访问必须是无二义性的
18.一个函数功能不太复杂但要求被频繁调用,应选用( )。 (满分:3)
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
19.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。 (满分:3)
A. ios::in
B. ios::out
C. ios::in|ios::out
D. 以上都不对
20.下列( )的调用方式是引用调用。 (满分:3)
A. 形参是引用,实参是变量
B. 形参和实参都是变量
C. 形参是变量,实参是地址值
D. 形参是指针,实参是地址值
二、判断题:【20道,总分:40分】
1.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。 (满分:2)
A. 错误
B. 正确
2.new和delete运算符可以被重载。 (满分:2)
A. 错误
B. 正确
3.当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。 (满分:2)
A. 错误
B. 正确
4.ofstream是用于写文件的文件流。 (满分:2)
A. 错误
B. 正确
5.类模板必须由程序员实例化成模板类。 (满分:2)
A. 错误
B. 正确
6.说明或定义对象时,类名前不需加class关键字。 (满分:2)
A. 错误
B. 正确
7.无论何种方式继承,基类的公有成员在派生类中的访问权限都是公有的。 (满分:2)
A. 错误
B. 正确
8.无论何时编译器都为类构造一个无参数的缺省的构造函数。 (满分:2)
A. 错误
B. 正确
9.若重载了赋值运算符“=”,则相当于重载了“+=”、“-=”、“*=”、“/=”运算符。 (满分:2)
A. 错误
B. 正确
10.公有继承方式下,基类成员的访问权限在派生类中保持不变。 (满分:2)
A. 错误
B. 正确
11.类和对象之间的关系是具体和抽象的关系。 (满分:2)
A. 错误
B. 正确
12.私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。 (满分:2)
A. 错误
B. 正确
13.void型指针是通用型指针,它可以接受任何类型的指针的赋值。 (满分:2)
A. 错误
B. 正确
14.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。 (满分:2)
A. 错误
B. 正确
15.若有声明:class B:virtual public A{};则类A为类B的虚基类。 (满分:2)
A. 错误
B. 正确
16.析构函数可以是虚函数,构造函数不能定义为虚函数。 (满分:2)
A. 错误
B. 正确
17.C++利用函数重载实现面向对象程序设计的封装性。 (满分:2)
A. 错误
B. 正确
18.类中成员的默认访问属性为公有,结构中成员的默认访问属性为私有。 (满分:2)
A. 错误
B. 正确
19.get( )和put( )函数的功能是一次读写一个数据块,而read( )和write( )函数是一次读写一个字符。 (满分:2)
A. 错误
B. 正确
20.静态成员函数与在一般的成员函数一样,都隐含有一个this指针。 (满分:2)
A. 错误
B. 正确
本内容由www.openhelp100.com整理发布
|
|