一、选择题
下列各题A.、B.、C.、D.四个选项中,只有一个选项是正确的。
1、下列选项中不符合良好程序设计风格的是
A. 源程序要文档化
B. 数据说明的次序要规范化
C. 避免滥用goto语句
D. 模块设计要保证高耦合、高内聚
2、从工程管理角度,软件设计一般分为两步完成,它们是
A. 概要设计与详细设计
B. 数据设计与接口设计
C. 软件结构设计与数据设计
D. 过程设计与数据设计
3、下列选项中不属于软件生命周期开发阶段任务的是
A. 软件测试 B. 概要设计
C. 软件维护 D. 详细设计
……此处隐藏37909个字…… >[解析] 从注释中可以看出,下划线处应该填入Foo类的数据成员value。但是,由于函数的形参名也叫value,所以在函数中直接使用value引用的是形参变量而不是 Foo类的数据成员。此时,只有两个办法可以引用到Foo类的数据成员:一是通过this指针,在类的成员函数中this代表函数所属对象的指针,故可以填this->value。二是通过作用域运算符“::”明确指出访问的是Foo类的成员,故还可以填Foo::value。46、BD
[解析] 根据选择题(35)的解析我们知道,因为本题的print()函数不是虚函数,所以通过基类指针pb调用的print()函数,是基类中的版本,而通过派生类指针pd调用的print()函数,是派生类中的版本。因此,程序运行时会先输出一个'B'字符然后输出一个'D'字符。故应该填BD。
47、private
[解析] 因为Derived类私有继承Base类,所以Base类中的公有和保护成员成为 Derived类的私有成员,Base类的私有成员在Derived类中不可访问。因此,Base类中的保护成员函数fun()在Derived类中的访问权限是private。
48、MyClass&
[解析] 本题考查“=”运算符的重载。赋值运算符=的重载应注意以下几点:
①返回值应声明为引用,而函数体中总是用语句return *this;返回;