21春地大《面向对象程序设计(新)》在线作业一题目及答案

[复制链接]
发表于 2021-7-31 11:30:59 | 显示全部楼层 |阅读模式
地大《面向对象程序设计(新)》在线作业一
1.[单选题] C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()

    A.增加了一些新的运算符
    B.允许函数重载,并允许设置缺省参数
    C.规定函数说明符必须用原型
    D.引进了类和对象的概念
    答:——D——
2.[单选题] 下列程序的运行结果为()。#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
    答:——D——
3.[单选题] 由C++目标文件连接而成的可执行文件的缺省扩展名为
    A.cpp
    B.exe
    C.obj
    D.Lik
    答:——B——
4.[单选题] 判断一个ofstream类对象file打开文件是否失败,应该判断()   
    A.创建文件流对象时是否抛出异常
    B.open成员函数的返回值
    C.feof成员函数的返回值
    D.! file 是否为真
    答:————
5.[单选题] 有如下程序:   
  #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
    答:————
6.[单选题] 用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是()
    A.0
    B.负数
    C.正数
    D.不确定
    答:————
7.[单选题] 类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么()
    A.类C的继承方式只能采用public继承
    B.可改用单继承的方式实现类C的同样功能
    C.类A和类B至少有一个是抽象类
    D.类A和类B至少有一个是虚基类
    答:————
8.[单选题] 下列程序的执行结果为()。
      #include
      void main()
      {
        int a=3,b=0;
        int*p=&a:
        b=+a++;
        cout<<*P<<”,”<<endl      
       }
    A.3,4
    B.4,3
    C.3,4
    D.4,4
    答:————
9.[单选题] 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()
    A.友元函数
    B.虚函数
    C.构造函数
    D.析构函数
    答:————
10.[单选题] 使用流控制符需要头文件()
    A.endl
    B.hex
    C.setw
    D.left
    答:————
11.[单选题] 设void f1(int * m,long & n);int a;long b;则以下调用合法的是()
    A.f1(a,b);
    B.f1(&a,b);
    C.f1(a,&b);
    D.f1(&a,&b);
    答:————
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.[单选题] 有如下类和对象的定义:
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();
    答:————
14.[单选题] 如果在try块中用 throw "error";语句抛出一个异常,则参数类型是 B 的catch块能够捕获这个异
常()
    A.char *
    B.const char * //throw "error"字符串常量 catch块要匹配
    C.char
    D.const char
    答:————
15.[单选题] 下列程序的输出结果为()#include
void main()
{
   char,a[]={”hello",”the",”world”};
   char**pa=a:
   pa++;
   cout<<*pa<      
}
    A.hello
    B.the
    C.world
    D.hellotheworld
    答:————
16.[多选题] 关于类中重载赋值运算符的正确说法是()
    A.由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
    B.在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
    C.只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
    D.通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
    答:————
17.[多选题] 模板定义中的类型参数可以用作()
    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.[多选题] 关于异常和C++提供的异常处理机制正确的说法是()
    A.若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
    B.使用dynamic_cast操作符可能会产生异常
    C.异常可以用catch进行捕获处理
    D.异常可以是对象,也可以是普通整数
    答:————
20.[多选题] 关于公共静态数据成员,下面说法正确的是()
    A.在main函数之前创建
    B.跟某个具体对象无关
    C.可以用类名和成员名直接访问
    D.需要在类体外初始化
    答:————
21.[判断题] 内联inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。
    A.错误
    B.正确
    答:————
22.[判断题] C++程序的执行只能从main()函数开始,并在main()中结束
    A.错误
    B.正确
    答:————
23.[判断题] 虽然抽象类的析构函数可以是纯虚函数,但要实例化其派生类对象,仍必须提供抽象基类中析构函数的函数体
    A.错误
    B.正确
    答:————
24.[判断题] 显式类型转换可以把一个变量转换成另外一种数据类型
    A.错误
    B.正确
    答:————
25.[判断题] 若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x; ,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值
    A.错误
    B.正确
    答:————


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

3.15 KB, 下载次数: 2, 下载积分: 贡献 1

售价: 3 金币  [记录]

答案参考

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