C++编程:圆类与图书类实例详解

需积分: 0 1 下载量 116 浏览量 更新于2024-09-09 收藏 53KB DOC 举报
在这个C++学习平台上,我们将探讨两个核心主题:类和对象的设计与实现,以及它们在程序中的应用。首先,我们来看第一个示例——定义一个名为Circle的类,它代表几何学中的圆形。这个类有三个主要操作: 1. **属性与构造**: - 圆类(Circle)有一个私有成员变量`float r`,表示圆的半径。 - 类提供了一个公共方法`input()`,用于用户输入圆的半径,通过`cin`获取用户的输入并存储到`r`中。 2. **成员函数**: - `float peric()`:计算圆的周长,使用公式`2 * π * r`,其中π取3.1415。 - `float area()`:计算圆的面积,使用公式`π * r^2`。 - `void show()`:显示圆的周长和面积,通过调用`peric()`和`area()`方法,并使用`cout`输出结果。 3. **主函数`main()`**: - 创建Circle类的对象`R`,调用`input()`函数获取半径,然后调用`show()`显示圆的周长和面积。 第二个示例是关于一个名为`Book`的类,它代表图书,具有以下特性: 1. **数据成员**: - 数据成员包括私有的`char ISBN[20]`(ISBN号)、`char name[60]`(书名)、`float price`(价格)。 - 这些成员都设置了默认值,如`char ISBN[] = "1101"`,但用户可以通过`input()`函数提供自定义值。 2. **函数成员**: - 带默认参数的构造函数:接受ISBN、书名和价格作为参数,如果未提供则使用默认值。 - 复制构造函数(拷贝构造函数):允许创建新的`Book`对象并复制已有对象的所有信息。 - `void input()`:用户输入ISBN号、书名和价格。 - `void show()`:输出图书的ISBN号、书名和价格。 3. **主函数中的应用**: - 创建`Book`对象`b1`,通过构造函数初始化数据。 - 使用拷贝构造函数创建`Book`对象`b2`,并将`b1`的信息复制给`b2`。 - 创建`Book`对象数组`mybook[3]`,使用for循环调用`input()`函数为每个数组元素初始化数据。 - 在适当位置输出所有创建的`Book`对象信息。 这两个例子展示了C++面向对象编程的基本概念,包括类的定义、属性、成员函数以及如何在主函数中创建和操作这些类的对象。通过这些实践,学习者可以理解如何在C++中创建结构化数据类型,并管理它们的行为。