第十周-圆类族的设计项目
2016-05-06 14:01
190 查看
问题及代码:
运行结果:
知识点总结:
在Point 做Circle的基类时,若Circle要访问基类的私有成员是不可实现的,这时要将原先的私有成员定义为保护类或公有类
/*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要访问基类的私有成员是不可实现的,这时要将原先的私有成员定义为保护类或公有类
相关文章推荐
- 【Android】15、活动的生命周期
- Java之------JUnit(一)
- 完全二叉树结点数
- Android开发生僻却实用的知识点
- HDU 1556-Color the ball(树状数组-区间修改 单点查询)
- 信号
- 一次搞定 Android 基本动画 大清理
- 最小瓶颈路与次小生成树
- islands打炉石传说<DP>
- myspringdemo 配置(我用的是4.2的)
- 笔试题48. LeetCode OJ (35)
- 开源.net 混淆器ConfuserEx介绍
- iOS滑动解锁、滑动获取验证码效果的实现代码
- linux项目用Makefile编写
- Androd调试
- PHP自学no00010特殊数据类型之空值
- CF670C Cinema
- HTML简介
- mysql建表属性不能为关键字
- NYOJ 715 Adjacent Bit Counts