第十一周 项目4-类族的设计(2)
2015-05-25 15:42
176 查看
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:呼亚萍 * 完成日期:2015年5月21日 * 版 本 号:v1.0 * * 问题描述:(1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; 以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; * 程序输入:相应的程序 * 程序输出:对应得结果 */ #include <iostream> using namespace std; class Point { public: Point(double x=0,double y=0); void get_point(double,double); double get_x() { return x; } double get_y() { return y; } friend ostream& operator<<(ostream&output,Point&); protected: double x; double y; }; Point::Point(double a,double b) { x=a; y=b; } void Point::get_point(double a,double b) { x=a; y=b; } ostream& operator<<(ostream&output,Point&p) { output<<"("<<p.x<<","<<p.y<<")"; return output; } class Circle:public Point { public: Circle(double a=0,double b=0,double r=0); void set_R(double); double get_R(); double area(); friend ostream& operator<<(ostream&output,Circle&); private: double R; }; Circle::Circle(double a,double b,double r):Point(a,b),R(r) {} void Circle::set_R(double r) { R=r; } double Circle::get_R() { return R; } double Circle::area() { double area=(3.14*R*R); return area; } ostream& operator<<(ostream&output,Circle&c) { output<<"center=["<<c.x<<","<<c.y<<"],R="<<c.R<<endl; } int main() { Circle c(3.5,6.4,5.2); cout<<"x="<<c.get_x()<<" "<<"y="<<c.get_y()<<" "<<"r="<<c.get_R()<<" "<<"area="<<c.area()<<endl; c.get_point(5,5); cout<<"new circle:\n"<<c; return 0; }
运算结果:
知识点总结:
派生出圆类,完成求面积的任务。
学习心得:
将一个程序分解成多个部分,更有助于理解!
相关文章推荐
- 第十一周项目1.1—点 圆 圆柱类族的设计
- 第十一周项目4——类族的设计
- 第十一周项目4-2:类族的设计-圆类
- 第十周第十一周上机实践项目-项目1-(2)-点-圆-圆柱类族的设计
- 第十一周【项目1 - 点-圆-圆柱类族的设计3】
- 第十一周项目四 类族的设计
- 第十一周【项目4 - 类族的设计】(3)最终版
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 第十一周项目4- 类族的设计
- 第十一周 项目四:(1)类族的设计
- 第十一周上机实践项目1(2):点-圆-圆柱类族的设计
- 第十一周上机实践项目1(3):点-圆-圆柱类族的设计
- 第十一周【项目4 - 类族的设计】(1)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十一周 项目四 类族的设计(3)
- 第十一周 项目4 类族的设计(1)
- 第十一周 项目四(2):类族的设计
- 第十一周项目4——类族的设计
- 第十一周项目四——类族的设计
- 第十一周 项目四 类族的设计(2)