第10、11周-项目1(2)

问题及代码:

<pre class="cpp" name="code">/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作    者:王艺霖
*完成日期:2016年5月9日
*版 本 号:v1.0
*问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试;
*输入描述:
*输出描述:
*/
#include <iostream>
using namespace std;
class Point
{
public:
    Point(double x=0,double y=0);
    void show();
protected:
    double x,y;
};
Point::Point(double a,double b)
{
    x=a;
    y=b;
}
void Point::show()
{
    cout<<"["<<x<<","<<y<<"]"<<endl;
}
class Circle:public Point
{
public:
    Circle(double x=0,double y=0,double r=0);
    double area ( );
    void show();
protected:
    double radius;
};

Circle::Circle(double a,double b,double r):Point(a,b),radius(r) { }

double Circle::area( )
{
    return 3.14159*radius*radius;
}

void Circle::show()
{
    cout<<"Center=("<<x<<", "<<y<<"), r="<<radius<<", area="<<area( )<<endl;
}

int main( )
{
    Circle c(1.1,2.2,3.3);
    c.area();
    c.show();
    return 0;
}

运行结果:

知识点总结:

基类的构造函数,用来给基类中数据成员初始化;

在基类中有默认构造函数时,派生类的构造函数中隐含调用基类中的默认构造函数。



时间: 2024-07-30 15:09:28

第10、11周-项目1(2)的相关文章

C++第10/11周项目 继承与派生 【项目5 - 摩托车继承自行车和机动车】(复习新版)

/* *copyright(c) 2016,烟台大学计算机学院 *All rights reserved *文件名称:test.cpp *作者:谭泽纯 *版本:v6.0 * 在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,如图所示. 下载可执行文件链接motorcar.exe. (1)根据上面各类间关系的描述,补全下面程序段中空缺的代码: (2)实现程序中声明的成员函数,注意相应操作中的动作发生的条件不能满足时应

第10,11周 项目一(2)

/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:肖雪 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试: */ #include <iostream> using namespace std; class Point

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

代码: /* *Copyright (c) 2016, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp; *作 者:岳成艳2016年5月6号: *版 本 号:vc++6.0: * *问题描述:储存班长信息类. *程序输入:略: *程序输出:略: */ #include <iostream> #include <string> using namespace std; class Stu //声明基类 { public: Stu

第10、11周-项目1(3)

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试. *输入描述: *输出描述: */ #in

第10、11周-项目3(2)

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:为Polic类和Cook类增加了对象成员,请扩充代码,完成上述各项要求 *输入描述: *输出描述: */ #include<iostream> #include<string> using namespace std; class Perso

第10、11周-项目3(1)

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:各个成员函数,只要输出相关的信息即可,暂不深究其业务功能 ? 请为各个类增加构造函数 ? 在实现中,可以增加需要的其他函数 ? 自行编制main函数,完成初步的测试 *输入描述: *输出描述: */ #include<iostream> #include

第10、11周-项目4-教师兼干部类

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月10日 *版 本 号:v1.0 *问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. (2)在Teacher类中还包含数据成员tit

第10、11周-项目2(1)

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:存储班长信息的学生类*输入描述: *输出描述: */ #include<iostream> #include<string> using namespace std; class Stu //声明基类 { public: Stu(int n,

第10、11周-项目2(2)

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能?如果不行,请修改程序.请不要修改给出的代码,只能修改自己写的代码.  *输入描述: *输出描述: */ #include<iostream> #include<stri