第10、11周项目1-点-圆-圆柱类族的设计(2)
2016-05-16 20:12
330 查看
问题及代码:
运行结果:
学习心得:如果基类里面的数据成员是私有的就没办法访问了所以改成了保护型的。
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张晴晴 *完成日期:2016年5月16日 *版 本 号:v1.0 * *问题描述: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; *输入描述:无 *程序输出:点类坐标、圆的半径和面积。 */ #include <iostream> using namespace std; 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(); protected: //受保护成员 double x,y; }; Point::Point(double a,double b) { x=a; y=b; } void Point::setPoint(double a,double b)//设置函数 { x=a; y=b; } void Point::show() { cout<<"("<<x<<","<<y<<")"<<endl; } class Circle:public Point //circle是Point类的公用派生类 { public: Circle(double x=0,double y=0,double r=0); //构造函数 void setRadius(double r); //设置半径值 double getRadius( ) const; //读取半径值 double area ( ) const; //计算圆面积 void show(); protected: double radius; }; //定义构造函数,对圆心坐标和半径初始化 Circle::Circle(double a,double b,double r):Point(a,b),radius(r) { } //设置半径值 void Circle::setRadius(double r) { radius=r; } double Circle::getRadius( ) const//可以直接写在类里面 { return radius; } //计算圆面积 double Circle::area( ) const { return 3.14*radius*radius; } //输出圆的信息 void Circle::show() { cout<<"Center=("<<x<<", "<<y<<"), r="<<radius<<", area="<<area( )<<endl; } int main( ) { Circle c(3.5,6.4,5.2); cout<<"original circle:\n"; c.show(); c.setPoint(5,5); cout<<"new circle:"<<endl; c.show(); return 0; }
运行结果:
学习心得:如果基类里面的数据成员是私有的就没办法访问了所以改成了保护型的。
相关文章推荐
- Deep Learning(深度学习)学习笔记整理系列之(四)
- JavaScript学习日志——流程控制
- 还是畅通工程
- 指针指向数组并指定数组首地址的一种方法
- css 元素选择器实例
- 你在某某项目中写了/自动化了几个测试用例?
- 寻找发帖水王01
- [PWA] 7. First Cache when installed
- C语言双向循环链表实现
- HDU 4455 Substring(DP)
- java 学习曲线(Java学习书籍推荐)
- 图像处理的一个简化的磨皮算法
- Deep Learning(深度学习)学习笔记整理系列之(三)
- KeepUpdating
- Android多进程
- MySQL数据检索+查询+全文本搜索
- descendantFocusability属性用法简析
- hiho一下 第九十八周题目1 : 搜索一·24点
- 【连载】关系型数据库是如何工作的?(16) - 查询管理器之Merge Join
- 计算机视觉与模式识别国际期刊整理