返回介绍

10.10 编程练习

发布于 2024-10-08 23:14:08 字数 2249 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文