第十周-圆类族的设计项目
来源:互联网 发布:淘宝网百丽 编辑:程序博客网 时间:2024/05/19 14:38
问题及代码:
/*copyright 计算机与控制工程学院完成日期:2016年5月6日作者:马艳艳问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; 输入描述:无输出描述:坐标值 ;*/#include <iostream>using namespace std;const float PI=3.1415926;class Point{public: Point(double x=0,double y=0); //构造函数 void setPoint(double,double); //设置坐标值 double getX( ) const {return x;} //x坐标 double getY( ) const {return y;} //y坐标 void show(); //受保护成员 double x,y;};Point::Point(double a,double b){ x=a; y=b;}//设置x和y的坐标值void Point::setPoint(double a,double b){ x=a; y=b;}void Point::show(){ cout<<"("<<x<<","<<y<<")"<<endl;}class Circle:public Point{ private: double r; public: Circle (double x=0,double y=0,double r=0); void setR(double); double area()const; void show();};Circle ::Circle(double a,double b,double r):Point (a,b),r(r){}//设置圆的构造函数void Circle::setR(double r){ this->r=r;}double Circle::area()const{ return PI*r*r;//求圆的面积}void Circle ::show(){ cout<<"圆心坐标为:"<<endl; cout<<"("<<x<<","<<y<<")"<<endl; cout<<"半径为:"<<endl; cout<<r<<endl;}int main( ){ Circle c(3.1,4.5,2.1); c.show(); c.setPoint(5,8); c.show(); return 0;}
运行结果:
知识点总结:
在Point 做Circle的基类时,若Circle要访问基类的私有成员是不可实现的,这时要将原先的私有成员定义为保护类或公有类
0 0
- 第十周-圆类族的设计项目
- 第十周 【项目4 - 类族的设计】
- 第十周项目四:类族的设计
- 第十周项目1 点-圆-圆柱的继承设计
- 第十周-圆柱类族的设计项目
- 第十周-点类族设计项目1
- 第十周第十一周上机实践项目-项目1-(1)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-(2)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-3-点-圆-圆柱类族的设计
- 第十周上机时间项目——项目1-点圆圆柱类族的设计
- 第十周上机时间项目——项目1—点圆圆柱类族的设计
- 第十周上机时间项目——项目1—点圆圆柱类族的设计
- 第十周项目4—— 类族的设计(1)
- 第十周项目4——类族的设计(2)
- 第十周项目4——类族的设计(3)
- 第十周项目二 点-圆-圆柱类族的设计
- 第十一周上机项目四类族的设计(1 )
- 第十一周上机项目四类族的设计(2 ) .
- 如何在 Eclipse 中使用命令行
- Neural Networks Part 1:Setting up the Architecture
- JS中六种数据类型(六)——Object
- ListViewItem获取不到焦点
- android SystemProperty系统属性分析
- 第十周-圆类族的设计项目
- 【Linux进阶】CentOS安装java环境
- Python中 os 与 sys 模块
- iOS自动处理键盘事件的第三方库:IQKeyboardManager
- Android线程的正确使用姿势
- iOS面试题(个人心得体会)1
- Java:封装POI实现word的docx文件的简单模板功能
- Android 实现形态各异的双向侧滑菜单 自定义控件来袭
- 字符的全排列