rint()后,会执行常构造函数,输出const:val=10;而obj2为普通对象,执行obj2.print()时,会执行默认构造函数,输出val=20。故答案为C。
19 [单选题] 下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
参考答案:A
参考解析:
软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
20 [单选题] 下列关于常成员的叙述中,正确的是( )。
A.常成员函数只能由常对象调用
B.常成员函数不能更新对象的状态
C.常数据成员可以被类对象共享
D.常数据成员可以在构造函数体中初始化
参考答案:B
参考解析:
常对象只能调用常成员函数,普通对象可以调用全部成员函数,包括常成员函数,选项A错误;常成员函数不能改变所操作对象的数据成员,即常成员函数不能更新对象的状态,选项8正确;常数据成员是指在类定义中不能修改其值的数据成员,它和普通类成员一样,不能被所有类对象共享,选项C错误;类中的常数据成员只能通过构造函数的参数初始化列表进行初始化,选项D错误。故本题答案为B选项。
相关推荐: