C++面向对象编程:派生类Circle实现详解

需积分: 49 7 下载量 7 浏览量 更新于2024-08-10 收藏 6.61MB PDF 举报
在C++编程中,本资源主要介绍的是如何在已有的基础之上声明和实现一个派生类Circle。派生类是面向对象编程中的一个重要概念,它允许我们在已有的类(如Point)的基础上创建新的类,扩展或重写原有类的功能。在这个例子中,Circle类被声明为Point类的公有派生类,这意味着Circle继承了Point类的所有公共属性和方法。 Circle类的定义包括以下几个关键部分: 1. **构造函数**:Circle类提供了默认构造函数Circle(float x=0, float y=0, float r=0),用于初始化圆心坐标和半径。构造函数接受三个参数,分别为x、y坐标和半径r,它们用于设置Circle对象的初始状态。 2. **成员函数**: - `setRadius(float)`:这是一个设置半径的方法,用于改变Circle对象的半径值。 - `getRadius() const`:是一个读取半径的方法,返回Circle对象的当前半径。 - `area() const`:计算并返回Circle对象的面积,这里使用了π乘以半径的平方来得到结果。 - `operator<<(ostream&, const Circle&)`:重载了输出运算符<<,以便按照特定格式输出Circle对象的信息,包括圆心坐标、半径和面积。 3. **私有成员**:Circle类包含一个私有成员`float radius`,用于存储圆的半径,保证了数据的封装性。 4. **初始化与重置**: - 构造函数`Circle::Circle(float a, float b, float r)`通过继承Point类的初始化语法,同时初始化圆心坐标和半径。 - `setRadius(float r)`和`setPoint(float x, float y)`分别用于设置半径和圆心坐标。 在提供的main函数中,展示了如何创建Circle对象并调用其成员方法进行操作,包括输出原初圆的信息(圆心、半径和面积),以及在修改半径和圆心后重新输出Circle对象的信息。同时,还展示了如何使用Circle类的引用变量pRef来访问Point类的成员。 这个例子体现了C++中面向对象编程的两个主要特性:继承和面向过程。继承使得Circle类可以从Point类那里继承属性和行为,而重载运算符则展示了C++如何扩展其原有的运算符行为以适应新的类结构。通过这样的方式,面向对象的程序设计能够更好地组织代码,提高代码的复用性和可维护性。