第一章 单元测试

1、 问题:若有定义 double xx=3.14,pp=&xx; 则表达式pp等价于( )
选项:
A:&xx
B:*xx
C:&3.14
D:xx
答案: 【
xx

2、 问题:有以下程序片段:
string str(“HelloC++”);
cout<<str.substr(5,3);
则程序的输出结果是( )
选项:
A:++
B:C++
C:Hello
D:loC++
答案: 【
C++

3、 问题:有以下程序片段:
string str(“HelloC++”);
cout<<str.insert(8, “World”);
则程序的输出结果是( )
选项:
A:HelloC++World
B:HelloC+World+
C:HelloWorldC++
D:编译报错无法运行
答案: 【
HelloC++World

4、 问题:下面对引用的描述错误的是( )
选项:
A:引用是某个变量或对象的别名
B:建立引用时,要对它初始化
C:对引用初始化可以使用任意类型的变量
D:引用与其代表的对象具有相同的地址
答案: 【
对引用初始化可以使用任意类型的变量

5、 问题: 编译系统区分重载函数的依据是( )。
选项:
A:对应位次上参数的类型不同
B:对应位次上参数的名字不同
C:总的参数个数不同
D:函数的返回值类型不同
答案: 【
对应位次上参数的类型不同
总的参数个数不同

6、 问题:若函数的返回值为引用类型,则该函数的调用表达式可以作为赋值运算的左值。( )
选项:
A:对
B:错
答案: 【

7、 问题:函数可设置默认参数,但不允许将一个函数的所有参数都设置为默认参数。( )
选项:
A:对
B:错
答案: 【

8、 问题:当使用setw(int n)、setprecision(int n)等带参数的输入/输出格式控制符时,需要在程序开头包含头文件iomanip。( )
选项:
A:对
B:错
答案: 【

9、 问题:运算符new分配的空间由运算符delete释放。( )
选项:
A:对
B:错
答案: 【

10、 问题:任何函数都可以声明为内联函数( )
选项:
A:对
B:错
答案: 【

第二章 单元测试

1、 问题:下列关于析构函数描述正确的是( )
选项:
A:析构函数在程序中必须被显示调用
B:析构函数返回值类型是void
C:析构函数既没有参数也不可重载
D:析构函数体中必须有delete语句
答案: 【
析构函数既没有参数也不可重载

2、 问题:

有如下类定义:

class Sample

{   int n;

public:

Sample(int i=0):n(i)

{ }

void setValue(int n0)

};

成员函数setValue在类外实现的正确形式是( )

选项:
A:Sample::setValue(int n0) { n=n0; }
B:void Sample::setValue(int n0) { n=n0; }
C:void setValue(int n0) { n=n0; }
D:setValue(int n0) { n=n0; }
答案: 【
void Sample::setValue(int n0) { n=n0; }

3、 问题:

有如下程序片段:

class Sample

{   int n;

public:

Sample(int i=0):n(i)

{ }

void setValue(int n0)

{ n=n0; }

};

Sample Sobj;

Sample *ptr=new Sample;

则下面对成员函数setValue访问形式正确的是( )

选项:
A:Sobj.setValue(5)
B:Sobj->setValue(5)
C:ptr.setValue(5)
D:ptr->setValue(5)
答案: 【
Sobj.setValue(5)
ptr->setValue(5)

4、 问题:

有如下程序片段:

class Sample

{   int n;

  protected:

    int m;

public:

Sample(int i=0,int j=0):n(i),m(j)

{ }

void setValue(int n0,int m0)

{ n=n0; m=m0; }

};

int main()

{ Sample Obj;   //

  Obj.n=3;    //

  Obj.m=4;    //

  Obj.setValue(3,4); //

  return 0;

}

则主函数中有误的语句是( )

选项:
A:①
B:②③
C:④
D:都不是
答案: 【
②③

5、 问题:下类有关类的构造函数和析构函数叙述正确的是( )
选项:
A:类的构造函数可以有多个,互为重载关系
B:类的析构函数可以有多个,互为重载关系
C:类的构造函数和析构函数都是在程序中被显示调用,而不能由系统自动隐式调用
D:类的构造函数和析构函数都是在程序中被自动隐式调用,而不能由系统显示调用
答案: 【
类的构造函数可以有多个,互为重载关系

6、 问题:

有如下类定义:

class TEST

{  int a;

public:

int GetRef() const  //

{ return &a;

}

int GetValue() const //

{ return a;

}

void Set(int n) const //

{ a=n;

}

friend void Show(TEST aa) const//

{ cout<<a;

}

};

则类中成员函数定义错误的序号是( )

选项:
A:①
B:②
C:③
D:④
答案: 【



7、 问题:类定义中数据成员初值的设定既可以在声明数据成员时进行,也可以在构造函数中进行。
( )
选项:
A:对
B:错
答案: 【

8、 问题:作用域运算符::只能用于类成员名的所属类限定。( )
选项:
A:对
B:错
答案: 【

9、 问题:访问类对象成员或结构变量成员时,使用的运算符有.和->。( )
选项:
A:对
B:错
答案: 【

10、 问题:若类AB的声明中没有析构函数和构造函数,则系统会自动为类AB添加缺省的析构函数~AB(){};和构造函数AB(){};( )
选项:
A:对
B:错
答案: 【

第三章 单元测试

1、 问题:下列关于常类型const的叙述错误的是( )。
选项:
A:不能修改常对象的数据成员
B:通过常对象可以调用一般成员函数
C:常成员函数中不能修改对象的数据成员
D:必须使用成员初始化列表初始化常数据成员
答案: 【
通过常对象可以调用一般成员函数

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注