|
-[东北师范大学]C++程序设计20春在线作业2
试卷总分:100 得分:100
第1题,应在下列程序划线处填入的正确语句是()。
#include
class Base
{ public:
void fun(){cout"Base::fun"ENDL;}
};
class Derived:public Base
{ void fun() {_____________ //显示调用基类的函数fun() cout"Derived::fun"ENDL; }
};
A、fun();
B、Base.fun();
C、Base::fun();
D、Base-fun();
正确答案:
第2题,不能作为重载函数的调用依据的是()。
A、参数个数
B、参数类型
C、返回值类型
D、函数名称
正确答案:
第3题,当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
A、只能是公有成员
B、只能是保护成员
C、只能是除私有成员之外的任何成员
D、具有任何权限的成员
正确答案:
第4题,若已知char str[20],有语句 cinstr;,当输入为:This is a cat,则str中的内容为()。
A、This is a cat
B、This
C、This is
D、This is a
正确答案:
答案来源:谋学网(www.mouxue.com),要想以读方式打开文件"D:\File.txt",以下不能实现目的的语句是()。
A、ifstream inf("D:\\File txt",ios::in);
B、ifstream inf("D:\\File.txt");
C、ofstream inf("D:\\File.txt",ios:ut);
D、fstream inf("D:\\File.txt",ios::in|ios:ut);
正确答案:
第6题,如果表达式++j*k中的"++"和"*"都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可以表示为()。
A、operator*(j,operator++(),k)
B、operator*(operator++(j),k)
C、j.operator++().operator*(k)
D、k.operator*(operator++(j))
正确答案:
第7题,如果类B在类A的基础上构造,那么,就称()。
A、类A为基类或父类,类B为超类或子类
B、类A为基类、父类或超类,类B为派生类或子类
C、类A为派生类,类B为基类
D、类A为派生类或子类,类B为基类、父类或超类
正确答案:
第8题,对于一个类,可以利用关键字()将其他类声明为该类的友元。
A、public
B、private
C、protected
D、friend
正确答案:
第9题,下列()可以是虚函数。
A、构造函数
B、拷贝构造函数
C、静态成员函数
D、析构函数
正确答案:
答案来源:谋学网(www.mouxue.com),C++程序的执行总是从()开始的。
A、main函数
B、第一行
C、头文件
D、函数注释
正确答案:
第11题,当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。
A、iostream.h
B、stdlib.h
C、strstream.h
D、fstream.h
正确答案:
答案来源:谋学网(www.mouxue.com),假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A、x.f
B、x.f()
C、x-f
D、x-f()
正确答案:
第13题,下列语句中不存在类型转换的是()。
A、int(1.1);
B、(double)2.2;
C、int i=1;
D、char c=97;
正确答案:
第14题,考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()。
A、test(5);
B、test(5,8);
C、test(6,"#")
D、test(0,0,"*");
正确答案:
答案来源:谋学网(www.mouxue.com),实现运行时的多态性需要使用()。
A、重载函数
B、构造函数
C、析构函数
D、虚函数
正确答案:
第16题,C++流类库预定义的与标准输入设备相关联的是()。
A、cin
B、cout
C、cerr
D、clog
正确答案:
第17题,析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
A、public
B、private
C、protected
D、static
正确答案:
第18题,类的析构函数的作用是()。
A、一般成员函数的初始化
B、类的初始化
C、对象的初始化
D、删除类创建的对象
正确答案:
第19题,运算符重载函数必须以特殊的关键字()开始。
A、virtual
B、operator
C、template
D、static
正确答案:
答案来源:谋学网(www.mouxue.com),如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就()。
A、出现编译错误
B、没有构造函数
C、必须显示定义
D、隐式定义缺省的构造函数
正确答案:
第21题,在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
A、错误
B、正确
正确答案:
第22题,cout通常与显示器相连,cin通常与键盘相连。
A、错误
B、正确
正确答案:
第23题,类和对象之间的关系是具体和抽象的关系。
A、错误
B、正确
正确答案:
第24题,用对象访问成员时应使用运算符".",用指向对象的指针访问成员时应使用运算符"-"。
A、错误
B、正确
正确答案:
答案来源:谋学网(www.mouxue.com),在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。
A、错误
B、正确
正确答案:
第26题,通过类对象可以访问类中所有的成员。
A、错误
B、正确
正确答案:
第27题,类模板必须由程序员实例化成模板类。
A、错误
B、正确
正确答案:
第28题,使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。
A、错误
B、正确
正确答案:
第29题,拷贝构造函数是重载的构造函数。
A、错误
B、正确
正确答案:
答案来源:谋学网(www.mouxue.com),文本文件结束标志为EOF(即-1)。
A、错误
B、正确
正确答案:
第31题,我们不能用抽象类定义对象,但可以定义对象的指针。
A、错误
B、正确
正确答案:
第32题,类成员是按照它们在成员初始化表中列出的顺序进行初始化的,与它们在类里被声明的顺序无关。
A、错误
B、正确
正确答案:
第33题,C++利用函数重载实现面向对象程序设计的封装性。
A、错误
B、正确
正确答案:
第34题,若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
A、错误
B、正确
正确答案:
第35题,类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。
A、错误
B、正确
正确答案:
第36题,类中可以包含各种数据类型的数据成员,但不能有其他类对象。
A、错误
B、正确
正确答案:
第37题,类是C++中预定义的数据类型。
A、错误
B、正确
正确答案:
第38题,当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。
A、错误
B、正确
正确答案:
第39题,ofstream是用于写文件的文件流。
A、错误
B、正确
正确答案:
第40题,操纵符函数setw(n)只对下一个输出有效。
A、错误
B、正确
正确答案: |
|