21春地大《面向对象程序设计(新)》在线作业二

[复制链接]
发表于 2021-7-31 11:34:27 | 显示全部楼层 |阅读模式
地大《面向对象程序设计(新)》在线作业二
1.[单选题] 有如下定义:int a[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5 的是()

    A.a[2]
    B.a[3]
    C.*(p+2)
    D.*p+4
    答:——B——
2.[单选题] 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()
    A.派生类的对象可以赋给基类的对象
    B.派生类的对象可以初始化基类的引用
    C.派生类的对象可以直接访问基类中的成员
    D.派生类的对象的地址可以赋给指向基类的指针
    答:——C——
3.[单选题] 有如下类和对象的定义:
class Constants{
public;
static double getPI(){return 3.1416;}
};
Constants constants;
下列各组语句中,能输出3.1416 的是()
    A.coutgetPI();和cout<<Constants::gerPI();
    B.cout<<constants.getPI();和cout<<Constants.getPI();
    C.coutgetPI();和coutgetPI();
    D.cout<<constants.getPI();和cout<<Constants::getPI();
    答:——D——
4.[单选题] 有如下程序:   
  #include   
  class BASE{   
    char c;   
  public:   
    BASE(char n):c(n){}   
    virtual~BASE(){cout<<C;}   
  };   
  class DERIVED:public BASE{   
    char c;   
  public:   
    DERIVED(char n):BASE(n+1),c(n){}   
    ~DERIVED(){cout   
    A.XY
    B.YX
    C.X
    D.Y
    答:————
5.[单选题] 有如下类定义:
class MyClass{
Int value;
public;
MyClass(int n): value (n) {}
int gerValue()const{ return value;}
};
则类MyClass 的构造函数的个数是()
    A.1 个
    B.2 个
    C.3 个
    D.4 个
    答:————
6.[单选题] 下列运算符中 重载的时候参数个数正确的是()
    A.?:不能
    B.,两个
    C.<< 两个
    D.() 多个
    答:————
7.[单选题] 在下列关键字中,不能用来表示继承方式的是()
    A.private
    B.static
    C.public
    D.protected
    答:————
8.[单选题] 已知函数f 的原型是void f(int *a, long & b);,变量v1、v2 的定义是:int v1; loong v2;下列调用语句中正确的是
    A.f(v1, &v2);
    B.f(v1, v2);
    C.f(&v1, &v2);
    D.f(&v1, v2);
    答:————
9.[单选题] 设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是()
    A.g(f(3));
    B.f(g(3));
    C.g(f(3)+2);
    D.p= f(g(3)+1);
    答:————
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.[单选题] 已知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);
    答:————
12.[单选题] 如果有如下语句 char str[20]; cin >> str; cout << str; 执行时输入的是“this is a test

line!”,则输出的内容是()
    A.this is a test line!
    B.this is a test line
    C.this is atest
    D.this
    答:————
13.[单选题] 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()
    A.main
    B.MAIN
    C.name
    D.Function
    答:————
14.[单选题] 假定AB为一个类,则该类的拷贝构造函数的声明语句为
    A.AB?&(AB??x)
    B.AB(AB??x)
    C.AB(AB??&)
    D.AB(AB?*?x)
    答:————
15.[单选题] 考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()
    A.test(5);
    B.test(5,8);
    C.test(6,"#")
    D.test(0,0."*");
    答:————
16.[多选题] 关于异常和C++提供的异常处理机制正确的说法是()
    A.若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
    B.使用dynamic_cast操作符可能会产生异常
    C.异常可以用catch进行捕获处理
    D.异常可以是对象,也可以是普通整数
    答:————
17.[多选题] 下列运算符中,在C++语言中能重载的是()
    A.*
    B.)>=
    C.::
    D./
    答:————
18.[多选题] 类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;
    答:————
19.[多选题] 关于类中重载赋值运算符的正确说法是()
    A.由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
    B.在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
    C.只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
    D.通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
    答:————
20.[多选题] 关于公共静态数据成员,下面说法正确的是()
    A.在main函数之前创建
    B.跟某个具体对象无关
    C.可以用类名和成员名直接访问
    D.需要在类体外初始化
    答:————
21.[判断题] 多态的实现分为两类:编译时的多态和运行时的多态
    A.错误
    B.正确
    答:————
22.[判断题] 函数体内声明的静态变量,至多只会被初始化一次
    A.错误
    B.正确
    答:————
23.[判断题] 设int fp(char a,int b=0,double c=100.0);,则可以定义重载函数 int fp(char,int);
    A.错误
    B.正确
    答:————
24.[判断题] 面向对象程序设计中,消息应该包含如何做的信息
    A.错误
    B.正确
    答:————
25.[判断题] 抽象类不可以继承,只能派生
    A.错误
    B.正确
    答:————


21春地大《面向对象程序设计(新)》在线作业二.zip

2.92 KB, 下载次数: 0, 下载积分: 贡献 1

售价: 3 金币  [记录]  [购买]

答案参考

快速回复 返回顶部 返回列表