- 内容提要
- 前言
- 第 1 章 预备知识
- 第 2 章 开始学习 C++
- 第 3 章 处理数据
- 第 4 章 复合类型
- 第 5 章 循环和关系表达式
- 第 6 章 分支语句和逻辑运算符
- 第 7 章 函数——C++的编程模块
- 第 8 章 函数探幽
- 第 9 章 内存模型和名称空间
- 第 10 章 对象和类
- 第 11 章 使用类
- 第 12 章 类和动态内存分配
- 第 13 章 类继承
- 第 14 章 C++中的代码重用
- 第 15 章 友元、异常和其他
- 第 16 章 string 类和标准模板库
- 第 17 章 输入、输出和文件
- 第 18 章 探讨 C++新标准
- 附录 A 计数系统
- 附录 B C++保留字
- 附录 C ASCII 字符集
- 附录 D 运算符优先级
- 附录 E 其他运算符
- 附录 F 模板类 string
- 附录 G 标准模板库方法和函数
- 附录 H 精选读物和网上资源
- 附录 I 转换为 ISO 标准 C++
- 附录 J 复习题答案
10.10 编程练习
1.为复习题 5 描述的类提供方法定义,并编写一个小程序来演示所有的特性。
2.下面是一个非常简单的类定义:
它使用了一个 string 对象和一个字符数组,让您能够比较它们的用法。请提供未定义的方法的代码,以完成这个类的实现。再编写一个使用这个类的程序,它使用了三种可能的构造函数调用(没有参数、一个参数和两个参数)以及两种显示方法。下面是一个使用这些构造函数和方法的例子:
3.完成第 9 章的编程练习 1,但要用正确的 golf 类声明替换那里的代码。用带合适参数的构造函数替换 setgolf(golf &, const char *, int),以提供初始值。保留 setgolf( ) 的交互版本,但要用构造函数来实现它(例如,setgolf( ) 的代码应该获得数据,将数据传递给构造函数来创建一个临时对象,并将其赋给调用对象,即*this)。
4.完成第 9 章的编程练习 4,但将 Sales 结构及相关的函数转换为一个类及其方法。用构造函数替换 setSales(sales &,double [ ],int)函数。用构造函数实现 setSales(Sales &)方法的交互版本。将类保留在名称空间 SALES 中。
5.考虑下面的结构声明:
编写一个程序,它从栈中添加和删除 customer 结构(栈用 Stack 类声明表示)。每次 customer 结构被删除时,其 payment 的值都被加入到总数中,并报告总数。注意:应该可以直接使用 Stack 类而不作修改;只需修改 typedef 声明,使 Item 的类型为 customer,而不是 unsigned long 即可。
6.下面是一个类声明:
请提供成员函数的定义和测试这个类的程序。
7.Betelgeusean plorg 有这些特征。
数据:
- plorg 的名称不超过 19 个字符;
- plorg 有满意指数(CI),这是一个整数。
操作:
- 新的 plorg 将有名称,其 CI 值为 50;
- plorg 的 CI 可以修改;
- plorg 可以报告其名称和 CI;
- plorg 的默认名称为“Plorga”。
请编写一个 Plorg 类声明(包括数据成员和成员函数原型)来表示 plorg,并编写成员函数的函数定义。然后编写一个小程序,以演示 Plorg 类的所有特性。
8.可以将简单列表描述成下面这样:
- 可存储 0 或多个某种类型的列表;
- 可创建空列表;
- 可在列表中添加数据项;
- 可确定列表是否为空;
- 可确定列表是否为满;
- 可访问列表中的每一个数据项,并对它执行某种操作。
可以看到,这个列表确实很简单,例如,它不允许插入或删除数据项。
请设计一个 List 类来表示这种抽象类型。您应提供头文件 list.h 和实现文件 list.cpp,前者包含类定义,后者包含类方法的实现。您还应创建一个简短的程序来使用这个类。
该列表的规范很简单,这主要旨在简化这个编程练习。可以选择使用数组或链表来实现该列表,但公有接口不应依赖于所做的选择。也就是说,公有接口不应有数组索引、节点指针等。应使用通用概念来表达创建列表、在列表中添加数据项等操作。对于访问数据项以及执行操作,通常应使用将函数指针作为参数的函数来处理:
其中,pf 指向一个将 Item 引用作为参数的函数(不是成员函数),Item 是列表中数据项的类型。visit( ) 函数将该函数用于列表中的每个数据项。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论