实验二 类及类的继承Word文件下载.docx

上传人:b****5 文档编号:20401642 上传时间:2023-01-22 格式:DOCX 页数:10 大小:16.64KB
下载 相关 举报
实验二 类及类的继承Word文件下载.docx_第1页
第1页 / 共10页
实验二 类及类的继承Word文件下载.docx_第2页
第2页 / 共10页
实验二 类及类的继承Word文件下载.docx_第3页
第3页 / 共10页
实验二 类及类的继承Word文件下载.docx_第4页
第4页 / 共10页
实验二 类及类的继承Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验二 类及类的继承Word文件下载.docx

《实验二 类及类的继承Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验二 类及类的继承Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

实验二 类及类的继承Word文件下载.docx

{

number=a;

name=b;

age=c;

cout<

<

"

学号:

number<

姓名:

name<

年龄:

age<

endl;

}

~student()

Destructed."

};

intmain()

{

students1(1412010708,"

雷宇"

20);

students2(1412010709,"

李嘉锡"

18);

students3(1412010710,"

刘奇瑞"

19);

return0;

}

2、定义日期类Date。

要求:

(1)可以设置日期;

(2)日期加一天操作;

(3)输出函数,输出格式为“XXXX年XX月XX日”;

(4)编写主函数,定义对象,完成相应功能。

#include<

//判断year是否是闰年

boolisLeapYear(intyear)

return(year%400==0||(year%4==0&

&

year%100!

=0));

//日期类

classDate{

intyear;

intmonth;

intday;

Date()

{}

Date(intyear,intmonth,intday)

{this->

year=year;

this->

month=month;

day=day;

//1.设置日期

voidsetDate(intyear,intmonth,intday)

//2.在当前日期的基础上增加一天

voidaddOneDay()

{day++;

switch(month){

//a.讨论1,3,5,7,8,10月份

case1:

case3:

case5:

case7:

case8:

case10:

{if(day>

31)

{day-=31;

month++;

}

break;

//b.讨论12月份

case12:

{day=1;

month=1;

year++;

//c.讨论4,6,9,11月份

case4:

case6:

case9:

case11:

{if(day>

30)

{day-=30;

}

//d.讨论2月份

case2:

{if(isLeapYear(year))

29)

{day-=29;

else

{

if(day>

28)

{day-=28;

}

}

default:

cout<

error!

;

{break;

//3.输出函数,输出格式为:

XXXX年XX月XX日,如2010年4月11日

voiddisplay()

year<

年"

month<

月"

day<

日"

//输入函数,输入格式为:

XXXXXXXX

DateInputDate()

intyear,month,day;

Datenow=Date();

cin>

>

year>

month>

day;

now.setDate(year,month,day);

returnnow;

voidmain()

请输入日期(XXXXXXXX)"

now=InputDate();

日期:

now.display();

now.addOneDay();

一天后:

//设置日期:

北京奥运会

设置新日期"

now.setDate(2008,8,8);

新日期:

3、编写一个程序计算出球、圆柱和圆锥的表面积和体积。

(1)定义一个基类,至少含有一个数据成员半径,并设为保护成员;

(2)定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数;

(3)编写主函数,求球、圆柱、圆锥的表面积和体积。

math.h>

constdoublepi=3.1415926;

classcircle//基类圆

{

circle(doublerad){r=rad;

}

protected:

doubler;

classball:

publiccircle//球类

public:

ball(doublerad):

circle(rad){}

voidcom_surface(){surface=4*pi*r*r;

voidcom_volume(){volume=4*pi*r*r*r/3;

doubleget_surface(){returnsurface;

doubleget_volume(){returnvolume;

doublesurface;

doublevolume;

classtaper:

publiccircle//圆锥类

taper(doublerad,doublelength):

circle(rad)

l=length;

voidcom_surface(){surface=pi*l*r+pi*r*r;

voidcom_volume(){volume=pi*r*r*sqrt(l*l-r*r)/3;

doublel;

//圆锥侧长

classcolumn:

publiccircle//圆柱类

column(doublerad,doublehigh):

h=high;

voidcom_surface(){surface=pi*r*r*2+2*pi*r*h;

voidcom_volume(){volume=pi*r*r*h;

doubleh;

//圆柱高

voidmain()

ballb(3);

_surface();

_volume();

该球的表面积是:

b.get_surface()<

该球的体积是:

b.get_volume()<

------------------------------------"

tapert(3,5);

该圆锥的表面积是:

t.get_surface()<

该圆锥的体积是:

t.get_volume()<

columnc(3,5);

该圆柱的表面积是:

c.get_surface()<

该圆柱的体积是:

c.get_volume()<

4、输入以下程序,分析运行结果。

classB1

B1(inti)

b1=i;

cout<

构造函数B1."

b1<

voidprint(){cout<

intb1;

classB2

B2(inti)

b2=i;

构造函数B2."

b2<

intb2;

classB3

B3(inti)

b3=i;

构造函数B3."

b3<

intgetb3(){returnb3;

intb3;

classA:

publicB2,publicB1

A(inti,intj,intk,intl):

B1(i),B2(j),bb(k)

a=l;

构造函数A."

a<

voidprint()

B1:

:

print();

B2:

inta;

B3bb;

Aaa(1,2,3,4);

aa.print();

修改上面的4个类,添加析构函数,在析构函数中输出各私有数据成员的值。

并分析结果。

三、实验要求

1、写出程序,并调试程序,要给出测试数据和实验结果。

2、整理上机步骤,总结经验和体会。

完成实验报告和上交程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1