C++语言程序设计(下) 中国农业大学 期末考试2019春

题目导航

单元测验单元作业
单元测验7-1
单元测验7-2单元作业7-2
单元测验7-3单元作业7-3
单元测验8-1单元作业8-1
单元测验8-2
单元测验9
单元测验10-1
单元测验10-2单元作业10-2
期末考试2019春

1.下列关于类定义语法的描述中,错误的是( )。

编号选项
A完整的函数定义代码通常放在类实现部分
B类定义代码通常分为声明和实现2部分
C定义类时需使用关键字class
D类成员之间不能重名

2.下列关于函数成员的描述中,错误的是( )。

编号选项
A函数成员访问本类中数据成员时需先定义,后访问
B函数成员的完整定义代码可以放在声明部分,此时该函数被默认为内联函数
C类中的函数成员之间可以重名,即重载函数
D函数成员的功能通常是对本类中数据成员进行处理

3.下列关于对象的描述中,错误的是( )。

编号选项
A可以访问对象中公有数据成员的内存单元
B可以调用对象中的所有函数成员
C类可认为是一种数据类型,用类所定义的变量称为对象,也可称为是类的实例
D执行对象定义语句时,计算机将为所定义的对象分配内存空间

4.已定义类ABC:

class ABC
{
    private:  int x, y;
    public:
        ABC( )  {  x = 0;  y = 0;  }
        ABC(int a, int b)  {  x = a;  y = b;  }
}

执行定义对象语句:ABC obj; 则自动调用哪个构造函数?( )

编号选项
A依次调用这2个构造函数
BABC( )
CABC(int a, int b)
D不调用任何构造函数

5.已定义类ABC:

class ABC
{
    private:  int x, y;
    public:
        ABC( )  {  x = 0;  y = 0;  }
        ABC(int a, int b)  {  x = a;  y = b;  }
        ABC(ABC &a)  {  x = a.x;  y = a.y;  }
};

执行定义对象语句:ABC obj1, obj2(obj1); 则将会自动调用哪个构造函数?( )

编号选项
AABC( )
BABC(int a, int b)
C依次调用ABC( )和ABC(ABC &a)
D依次调用ABC( )和ABC(int a, int b)

6.已定义一个圆形类Circle:

class Circle
{
    private:  double r;
    public:
        void SetR(double x)  {  r = x;  }
        double GetArea( )  { return 3.14*r*r;  }
};

编写一个显示某个圆面积的函数show,下列函数定义中错误的是( )。

编号选项
Avoid show( Circle c ) { cout << “圆面积= ” << c.GetArea() << endl; }
Bvoid show( Circle *c ) { cout << “圆面积= ” << c->GetArea() << endl; }
Cvoid show( ) { cout << “圆面积= ” << Circle.GetArea() << endl; }
Dvoid show( Circle &c ) { cout << “圆面积= ” << c.GetArea() << endl; }

7.下列关于静态成员的描述中,错误的是( )。

编号选项
A公有静态成员具有文件作用域
B静态数据成员不属于某个对象,是类的共享成员
C私有静态成员具有块作用域
D静态数据成员要在类外定义和初始化

8.已定义类A:

class A
{
public:
    int x;
    static int y;
};
int A::y = 0;

下‍列语句中错误的是( )。

编号选项
AA a; a.x = 1; A::y = 1;
BA a; a.x = 1; a.y = 1;
CA::y = 1;
DA.x = 1; A.y = 1;

9.下列关于友元类的描述中,错误的是( )。

编号选项
A将类B定义成类A友元类的方法是在类A中增加一条如下的声明语句: friend class B;
B如果类B是类A的友元类,那么类A自动成为类B的友元类
C如果类B是类A的友元类,类C又是类B的友元类,此时C不一定是A的友元类
D如果希望类B的函数成员都是类A的友元函数,则可将类B定义成类A的友元类

10.C++语言中,重用已有类代码不包括下列哪种形式?( )

编号选项
A使用已有类定义派生类
B使用已有类定义组合类
C拷贝已有类,通过修改源代码来定义新的类
D使用已有类定义对象

11.定义类A和B:

class A
{
    public:  int x, y;
};
class B
{
    public:
        A  m1;
        int  m2;
        double  m3;
        void fun( A a )  { ...... }
};

组合类B中的对象成员是( )。

编号选项
Am1
Bm2
Cfun
Dm3

12.定义类A和组合类B:

class A
{
    private:  int x;
    public:  int y;
};
class B
{
    public:  A t;
        int s;
};

使用组合类B定义对象:B obj; 下列语句中正确的是( )。

编号选项
AB *p = &obj; p.t.x = 5; p.t.y = 5; p.s = 5;
BB *p = &obj; p->t.y = 5; p->s = 5;
Cobj.t.x = 5; obj.t.y = 5; obj.s = 5;
Dobj.x = 5; obj.y = 5; obj.s = 5;

13.继承基类得到新的派生类,派生类中将不包括基类的哪种成员?( )

编号选项
A基类中的保护数据成员
B基类中的私有数据成员
C基类中的构造函数和析构函数
D基类中的公有数据成员

14.通过派生类对象obj访问其从基类继承的成员m,则m必须是( )。

编号选项
A公有继承下的保护成员
B公有继承下的公有成员
C私有继承下的公有成员
D公有继承下的私有成员

15.为类ABC定义重载运算符“+”,下列哪种定义形式是正确的?( )

编号选项
A定义为类ABC的函数成员:void operator +( ) { … }
B定义为类ABC的函数成员:ABC operator +( ABC obj1, ABC obj2 ) { … }
C定义为类ABC的函数成员:ABC operator +( ABC obj ) { … }
D定义为类ABC的友元函数:ABC operator +( ABC obj ) { … }

16.下列关于抽象类的描述,错误的是( )。

编号选项
A不能用抽象类定义对象,即抽象类不能实例化
B抽象类的派生类一定是抽象类
C可以用抽象类定义对象指针,指向其派生类对象
D可以用抽象类定义对象引用,引用其派生类对象

17.下列关于输入/输出的描述中,错误的是( )。

编号选项
AC++语言通过关键字cin、cout以语句的形式提供输入/输出功能
BC语言以系统函数的形式提供输入/输出功能
CC++语言以流类库的形式提供输入/输出功能
Dcin、cout是流类库中预定义的流对象

18.打开一个二进制输出文件“test.dat”,下列语句中错误的是( )。

编号选项
Aofstream fout( “test.dat”, ios::binary );
Bofstream fout; fout.open( “test.dat” );
Cofstream *p = new ofstream( “test.dat”, ios::binary );
Dofstream fout; fout.open( “test.dat”, ios::binary );

19.已定义如下函数模板:

template  <typename T>  T max( T x, T y )  {  ......  }

则编译模板函数调用语句:cout << max(3.5f, 6.2f); 将自动生成下列哪个函数定义代码?( )

编号选项
Adouble max(double x, double y) { … }
Bfloat max(float x, float y) { … }
Cint max(int x, int y) { … }
Dshort max(short x, short y) { … }

20.双向迭代器不能进行下列哪种运算?( )

编号选项
A自增运算++
B下标运算[ ]
C自减运算–
D指针运算*

@Power By Exercises-Manager

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
https://blog.csdn.net/qq_44036990/article/details/104330168?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162458824716780264041251%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162458824716780264041251&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-1-104330168.pc_search_result_control_group&utm_term=C%2B%2B%E5%8D%95%E9%93%BE%E8%A1%A8%E6%98%AF%E4%B8%80%E7%A7%8D%E9%93%BE%E5%BC%8F%E5%AD%98%E5%8F%96%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%EF%BC%8C%E7%94%A8%E4%B8%80%E7%BB%84%E5%9C%B0%E5%9D%80%E4%BB%BB%E6%84%8F%E7%9A%84%E5%AD%98%E5%82%A8%E5%8D%95%E5%85%83%E5%AD%98%E6%94%BE%E7%BA%BF%E6%80%A7%E8%A1%A8%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E5%85%83%E7%B4%A0%E3%80%82%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E6%98%AF%E4%BB%A5%E7%BB%93%E7%82%B9%E6%9D%A5%E8%A1%A8%E7%A4%BA%E7%9A%84%EF%BC%8C%E6%AF%8F%E4%B8%AA%E7%BB%93%E7%82%B9%E7%9A%84%E6%9E%84%E6%88%90%EF%BC%9A%E5%85%83%E7%B4%A0%28%E6%95%B0%E6%8D%AE%E5%85%83%E7%B4%A0%E7%9A%84%E6%98%A0%E8%B1%A1%29%2B%E6%8C%87%E9%92%88%28%E6%8C%87%E7%A4%BA%E5%90%8E%E7%BB%A7%E5%85%83%E7%B4%A0%E5%AD%98%E5%82%A8%E4%BD%8D%E7%BD%AE%29%EF%BC%8C%E5%85%83%E7%B4%A0%E5%B0%B1%E6%98%AF%E5%AD%98%E5%82%A8%E6%95%B0%E6%8D%AE%E7%9A%84%E5%AD%98%E5%82%A8%E5%8D%95%E5%85%83%EF%BC%8C%E6%8C%87%E9%92%88%E5%B0%B1%E6%98%AF%E8%BF%9E%E6%8E%A5%E6%AF%8F%E4%B8%AA%E7%BB%93%E7%82%B9%E7%9A%84%E5%9C%B0%E5%9D%80%E6%95%B0%E6%8D%AE%E3%80%82%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A&spm=1018.2226.3001.4187
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真实的hello world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值