第十周项目1(3)

问题及代码:

/*copyright(c)2016.烟台大学计算机学院
 * All rights reserved,
 * 文件名称:text.Cpp
 * 作者:李一波
 * 完成日期:2016年5月9日
 * 版本号:vc++6.0
 *
 * 问题描述: 再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。
 * 输入描述:
 * 程序输出:
 */
#include<iostream>
using namespace std;
#define PI 3.14
class Point
{
public:
    Point(int x,int y);
    void show();
private:
    int x;    //横坐标
    int y;    //纵坐标
};
class Circle:public Point
{
public:
    Circle(int r,int x,int y);
    double area();
    double zhouchang();
private:
    int r;    //半径
};
class Cylinder:public Circle
{
public:
    Cylinder(int x,int y,int r,int gao);
    void area();
    void volume();
private:
    int h;
};
//下面定义类的成员函数
Point::Point(int x,int y)
{
    this->x=x;
    this->y=y;
}
void Point::show()
{
    cout<<x<<' '<<y<<endl;
}
Circle::Circle(int banjing,int x,int y):r(banjing),Point(x,y){}
double Circle::area()
{
    return r*r*PI;
}
double Circle::zhouchang()
{
    return 2*r*PI;
}
void Cylinder::area()
{
    double s;
    s=Circle::area()*2+Circle::zhouchang()*h;
    cout<<s<<endl;
}
void Cylinder::volume()
{
    cout<<Circle::area()*h<<endl;
}
Cylinder::Cylinder(int x,int y,int r,int gao):Circle(x,y,r),h(gao){}
//下面是测试函数
int main()
{
    Point p(10,20);
    p.show();
    Circle c(2,1,2);
    cout<<c.area()<<endl;
    Cylinder cy(2,1,2,1);
    cy.area();
    cy.volume();
    return 0;
}

运行结果:

时间: 2024-11-05 21:38:29

第十周项目1(3)的相关文章

第十周项目6-贪财的富翁

一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你10万元,而你第一天只需要给我一分钱,第二天我仍然给你10万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱......,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然的接受了这个契约.请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易. /* *copyright (c) 2014,烟台大学计算机学院 *all rights reserved. *文 件 名 : 输出完数

第十周项目42-警察与厨师

问题及代码: /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:徐健 *完成日期:2015年5月6日 *版本号:v1.0 * *问题描述:为各个类增加构造函数以及其他函数,并自行编制main函数,完成初步测试 *输入描述: 无 *程序输出:此次测试信息 */ #include <iostream> using namespace std; class Person { public: Person

第十周项目43-教师兼干部类

问题及代码: /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:徐健 *完成日期:2015年5月6日 *版本号:v1.0 * *问题描述:定义一个教师类一个干部类,定义一个多继承派生类,输出信息 *输入描述: 无 *程序输出:教师兼干部的个人信息 */ #include <iostream> using namespace std; class Teacher { public : Teacher

第十周项目五 摩托车继承自行车和机动车

/* *Copyright(c) 2016,烟台大学计算机学院 *作 者:刘金石 *完成日期:2016年5月9日 *问题描述:摩托车继承自行车和机动车 */ #include <iostream> #include<conio.h> #include <windows.h> using namespace std; enum VehicleStaus {rest, running}; //车辆状态:泊车.行进 class Vehicle //车辆类 { protecte

第十周项目四 类的继承教师兼干部类

/* *Copyright(c) 2016,烟台大学计算机学院 *作 者:刘金石 *完成日期:2016年5月9日 *问题描述:教师兼干部类 *要求:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: *(1)在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. *(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中

第十周项目2-存储班长信息的学生类(2)

/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作 者: *完成日期:2016年5月8日 * *问题描述: 将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能? 如果不行,请修改程序.请不要修改给出的代码,只能修改自己写的代码. */ #include <iostream> using namespace std; class Stu //声明基类 { public: St

第十周项目四 警察与厨师(2)

/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年5月6日 * 版本号:vc++6.0 * 问题描述:(1)下面的类图,为Polic类 和Cook类增加了对象成员, 请扩充代码,完成上述各项要 求 (图片见附件) 要求:各个成员函数,只要输出相关的信息 即可,暂不深究其业务功能请为各个类增加 构造函数在实现中,可以增加需要的其他函 数自行编制main函数,完成初步的测试

第十周项目44-摩托车继承自行车和机动车

问题及代码: #include <iostream> #include<conio.h> #include <windows.h> using namespace std; enum VehicleStaus {rest, running}; //车辆状态:泊车.行进 class Vehicle //车辆类 { protected: int maxSpeed; //最大车速 int currentSpeed; //当前速度 int weight; //车重 Vehicl

第十周项目2——贮存班长信息的学生类

问题及代码: /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:李一波 * 完成日期:2016年5月10日 * 版本号:vc++6.0 * * 问题描述: * 输入描述: * 程序输出: */ #include<iostream> using namespace std; class Stu //声明基类 { public: Stu(int n, string nam ); //基类构造函数 voi