21年春地大《面向对象程序设计(新)》在线作业一[正确答案]单选题答案
地大《面向对象程序设计(新)》在线作业一-0010
试卷总分:100 得分:100
一、单选题 (共 15 道试题,共 60 分)
1.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A.公有类型
B.私有类型
C.保护类型
D.友元类型
正确选项:--------
2.有如下定义:int a[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5 的是()
A.a[2]
B.a[3]
C.*(p+2)
D.*p+4
正确选项:--------
3.下面关于new?和delete操作符的说法,哪个是不正确的()
正确选项:--------
A.使用new操作符,可以动态分配全局堆中的内存资源
B.若p的类型已由A*强制转换为void?*,那么执行语句delete?p;时,类A的析构函数不会被调用
正确选项:--------
C.实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
正确选项:--------
D.执行语句A?*?p=new?A[100];时,类A的构造函数只会被调用1次
正确选项:--------
4.下面对静态数据成员的描述中,正确的是()
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员不能受private控制符的作用
D.静态数据成员可以直接用类名调用
正确选项:--------
5.下列程序的输出结果为()#include void main() { char,a[]={”hello",”the",”world”}; char**pa=a: pa++; cout<<*pa< }
正确选项:--------
A.hello
B.the
C.world
D.hellotheworld
正确选项:--------
6.已知Value 是一个类,Value 是Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A.Value operator+(Value v, int i);
B.Value operator+(Value v=value, int i);
C.Value operator+(Value vint i=0);
D.Value operator+(Value v=value, int i=0);
正确选项:--------
7.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()
A.main
B.MAIN
C.name
D.Function
正确选项:--------
8.设int x;,则经过( )后,语句*px=0;可将x值置为0
A.int * px;
B.int const * px=&x;
C.int * const px=&x;
D.const int * px=&x;
正确选项:--------
9.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A.ios::in
B.ios::out
C.ios::int | ios::out
D.没有
正确选项:--------
10.下列程序的运行结果为()。#include void print(double a) { cout<<++a; } void print(int a,int b) { cout<<b<<a } void main() { print(1.2); cout<<” ”; print(3,4); }
正确选项:--------
A.1.2?34
B.2.2?34
C.1.2?43
D.2.2?43
正确选项:--------
11.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()
A.AB operator+(AB & a , AB & b)
B.AB operator+(AB & a)
C.operator+(AB a)
D.AB & operator+( )
正确选项:--------
12.在下面的函数声明中,存在着语法错误的是
A.void??BC(int??a?,?int)
正确选项:--------
B.void??BD(int?,?int)
正确选项:--------
C.void??BE(int?,?int=5)
正确选项:--------
D.int??BF(int??x?;?int??y)
正确选项:--------
13.假定AB为一个类,则该类的拷贝构造函数的声明语句为
A.AB?&(AB??x)
B.AB(AB??x)
C.AB(AB??&)
D.AB(AB?*?x)
正确选项:--------
14.下面程序的运行结果为()。 #include class A { public: A(){cout<<”1”;} ~A(){cout<<”2”;} } class B:public A { public: B(){cout<<”3”;} ~B(){cout<<”4”;} } void main()
正确选项:--------
A.1234
B.1324
C.1342
D.3142
正确选项:--------
15.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
A.fail
B.eof
C.bad
D.good
正确选项:--------
21年春地大《面向对象程序设计(新)》在线作业一[正确答案]多选题答案
二、多选题 (共 5 道试题,共 20 分)
16.下面关于指针变量和引用变量的说法正确的是
A.指针变量存放的是内存地址,并且可以置为0
B.定义引用变量时,必须同时指明具体被引用的对象或变量
C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D.类中的数据成员可以是指针变量,但不能是引用变量
正确选项:--------
17.在类的静态成员函数的实现体中,可以访问或调用()
A.本类中的静态数据成员
B.本类中非静态的常量数据成员
C.本类中其它的静态成员函数
D.本类中非静态的成员函数
正确选项:--------
18.关于类中重载赋值运算符的正确说法是()
A.由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
B.在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
C.只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
D.通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
正确选项:--------
19.关于构造函数说法正确的是()
A.函数名只能是类名
B.返回类型可以是任意的
C.参数个数和类型可以是任意的
D.在对象创建时自动调用
正确选项:--------
20.类A中有唯一的一个公有成员函数f,对于类A的一个对象a,执行语句 a.f(100);成功,那么f 的函数原型可以为
A.A& f( int, int=50);
B.void f(int&) const;
正确选项:--------
C.const A * f(const int );
D.A f( const int&) const;
正确选项:--------
三、判断题 (共 5 道试题,共 20 分)
21.重载函数在编译时时静态联编,而虚函数在运行时是动态联编
22.多态的实现分为两类:编译时的多态和运行时的多态
23.设int fp(char a,int b=0,double c=100.0);,则可以定义重载函数 int fp(char,int);
正确选项:--------
24.面向对象程序设计通过继承和重载两种机制实现多态
25.对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同
21年春地大《面向对象程序设计(新)》在线作业一[正确答案]奥鹏资讯分享: