博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++第11周(春)项目4 - 类族的设计
阅读量:6574 次
发布时间:2019-06-24

本文共 2719 字,大约阅读时间需要 9 分钟。

课程首页在:,内有完整教学方案及资源链接

【项目4 - 类族的设计】按下面的提示,由基类的设计和測试開始,逐渐地完毕各个类的设计,求出圆格柱体的表面积、体积并输出而且完毕要求的计算任务:

    (1)先建立一个Point(点)类,包括数据成员x,y(坐标点),实现须要的成员函数,并设计main函数完毕測试;
    (2)以Point为基类,派生出一个Circle(圆)类,添加数据成员r(半径),以及求面积的成员函数area,实现其它须要的成员函数,设计main函数完毕測试;
    (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再添加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现须要的成员函数,并设计main函数完毕測试。
     要求编敲代码,设计出各类中“须要的成员函数”,包括构造函数、析构函数、改动数据成员和获取数据成员的公共接口、用于输出的重载运算符“<<”函数等。
   (提示:此任务能够分为三个子任务分成若干步骤进行。先声明基类,再声明派生类,逐级进行,分步调试。——这样的方法适用于做不论什么的项目)

參考解答:

    (1)先建立一个Point(点)类,包括数据成员x,y(坐标点),实现须要的成员函数,并设计main函数完毕測试;

#include 
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坐标 friend ostream & operator<<(ostream &,const Point &);//重载运算符“<<”protected: //受保护成员 double x,y;};//Point的构造函数Point::Point(double a,double b) { x=a; y=b;}//设置x和y的坐标值void Point::setPoint(double a,double b) { x=a; y=b;}ostream & operator<<(ostream &output,const Point &p){ output<<"["<
<<","<
<<"]"<
    (2)以Point为基类,派生出一个Circle(圆)类,添加数据成员r(半径),以及求面积的成员函数area,实现其它须要的成员函数,设计main函数完毕測试;

#include 
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坐标 friend ostream & operator<<(ostream &,const Point &);//重载运算符“<<”protected: //受保护成员 double x,y;};//Point的构造函数Point::Point(double a,double b) { x=a; y=b;}//设置x和y的坐标值void Point::setPoint(double a,double b) { x=a; y=b;}ostream & operator<<(ostream &output,const Point &p){ output<<"["<
<<","<
<<"]"<
    (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再添加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现须要的成员函数,并设计main函数完毕測试。

#include 
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坐标 friend ostream & operator<<(ostream &,const Point &);//重载运算符“<<”protected: //受保护成员 double x,y;};//Point的构造函数Point::Point(double a,double b) { x=a; y=b;}//设置x和y的坐标值void Point::setPoint(double a,double b) { x=a; y=b;}ostream & operator<<(ostream &output,const Point &p){ output<<"["<
<<","<
<<"]"<
=================== 迂者 贺利坚 CSDN博客专栏=================|==   ==||==    ==||== 我写的书——《》    ==|===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====



转载地址:http://ewljo.baihongyu.com/

你可能感兴趣的文章
C#静态构造函数总结
查看>>
Oracle RAC的Failover
查看>>
程序员肿么了?为何总被认为是“屌丝”
查看>>
关于网站购物车的实现的思考
查看>>
7款效果惊人的HTML5/CSS3应用
查看>>
(JAVA版)冒泡排序
查看>>
HDU 4293 Groups (线性dp)
查看>>
博客园博客美化相关文章目录
查看>>
excel中如何批量将所有的网址设为超链接
查看>>
Nodejs学习笔记(十二)--- 定时任务(node-schedule)
查看>>
加密算法使用(五):RSA使用全过程
查看>>
root用户重置其他密码
查看>>
C#------如何获取本机IP地址
查看>>
关于查询扩展版ESI高被引论文的说明
查看>>
【iCore3应用】基于iCore3双核心板的编码器应用实例
查看>>
Oracle推断值为非数字
查看>>
得知发行组长老潘今天岗位上最后一天就要离开有感
查看>>
[转]WF事件驱动(1)
查看>>
异常关闭MyEclipse 8.6后,不能重启
查看>>
android recover 系统代码分析 -- 选择进入
查看>>