c++实验报告 类的组合及应用Word文档格式.docx

上传人:b****6 文档编号:21382249 上传时间:2023-01-30 格式:DOCX 页数:10 大小:78.47KB
下载 相关 举报
c++实验报告 类的组合及应用Word文档格式.docx_第1页
第1页 / 共10页
c++实验报告 类的组合及应用Word文档格式.docx_第2页
第2页 / 共10页
c++实验报告 类的组合及应用Word文档格式.docx_第3页
第3页 / 共10页
c++实验报告 类的组合及应用Word文档格式.docx_第4页
第4页 / 共10页
c++实验报告 类的组合及应用Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c++实验报告 类的组合及应用Word文档格式.docx

《c++实验报告 类的组合及应用Word文档格式.docx》由会员分享,可在线阅读,更多相关《c++实验报告 类的组合及应用Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

c++实验报告 类的组合及应用Word文档格式.docx

#ifndefCDATE

#defineCDATE

//class1

classcdate

{

public:

cdate(){year=1900;

month=1;

day=1;

};

//初始化

cdate(intyear_get,intmonth_get,intday_get);

//赋值

voidnext();

voidset();

voiddisplay();

intget_year();

intget_month();

intget_day();

voiddate_count_date();

//private:

intyear,month,day,d,other;

//类定义

//class2继承class1

classcdate_count:

publiccdate

//cdate_count();

intcount(inty,intm,intd1);

intget_year_number(intw,inti);

intget_month_number(intx,intj);

intget_day_number(inty,intk);

voidset_today();

private:

inty,m,d1,cha;

intyear_today,month_today,day_today;

#endif

/******cdate.cppllz2012.4.21******/

#include"

cdate2.h"

#include<

iostream>

iomanip>

usingnamespacestd;

cdate:

:

cdate(intyear_get,intmonth_get,intday_get)

year=year_get;

month=month_get;

day=day_get;

}//赋值

voidcdate:

next()

day+=1;

}//加一

voidcdate:

set()

{

cout<

<

"

pleaseenteryear"

endl;

cin>

>

year;

if((year%4==0)||(year%400==0))other=1;

elseother=0;

do{

cout<

pleaseentermonth"

cin>

month;

}

while(month<

1||month>

12);

switch(month)

{

case1:

d=31;

break;

case2:

d=28+other;

case3:

case4:

d=30;

case5:

case6:

case7:

case8:

case9:

case10:

case11:

case12:

do

pleaseenterday"

day;

while(day>

d||day<

1);

}//设定

date_count_date()

{}cdate;

voidcdate_count:

set_today()

pleaseenteryear_today"

year_today;

pleaseentermonth_today"

month_today;

pleaseenterday_today"

day_today;

}//设定今天

intcdate_count:

get_year_number(intw,inti)

y=w-i;

returny;

}

get_month_number(intx,intj)

m=x-j;

m=(m>

=0)?

m:

-m;

returnm;

get_day_number(inty,intk)

d1=y-k;

d1=(d1>

d1:

-d1;

returnd1;

count(inty,intm,intd1)

y=get_year_number(year_today,year);

m=get_month_number(month_today,month);

d1=get_day_number(day_today,day);

cha=365*y+31*m+d1;

returncha;

display()

cha=count(y,m,d1);

两个日期相差的天数为:

"

cha<

day"

/******main.cpp******/

voidmain()

cdate_countcha;

pleaseenterthedateoftoday"

cha.set_today();

pleaseenterthedateofyouwanttosubtract:

cha.set();

cha.display();

运行结果截图

题目2:

定义一个学生类,数据有姓名(用指针实现)、学号、性别、出生日期(cdate类型),成绩,班排名;

求一个班10名学生的平均分和排名。

源程序2

#ifndefSTUDENT_H

#defineSTUDENT_H

intyear;

intmonth;

intday;

voidset(intyy,intmm,intdd){

year=yy;

month=mm;

day=dd;

classstudent

charname[10];

charsex;

//m代表男生,f代表女生

intnumber;

cdatebirth;

doublescore;

intrank;

public:

student()

{}

voidsets()

{intyy,mm,dd;

name>

sex>

number>

score>

yy>

mm>

dd;

birth.set(yy,mm,dd);

rank=1;

doublegetscore()

returnscore;

voidsetrank()

rank++;

voidshow()

name<

排名:

rank<

LLZH.h"

intmain()

inti,aver=0,j;

studentstu[10];

for(i=0;

i<

10;

i++)

stu[i].sets();

i++)//排名

for(j=0;

j<

j++)

if(stu[j].getscore()<

stu[i].getscore())

stu[j].setrank();

aver+=stu[i].getscore();

stu[i].show();

Theaverageis:

aver/10.0<

return0;

思考问题

1.什么是面向对象,面向对象有哪些特征。

答:

所谓面向对象,就是以对象的观点来分析现实世界中的问题。

从普通人认识世界的观点出发,把事物归类、综合,提取共性并加以描述。

面向对象的特点有抽象、封装和信息隐藏、继承和多态。

2.什么是构造和析构函数,有什么特点,它们可以重载吗

构造函数是一个函数名和类名相同的类成员函数,当这个类的对象被创建时,构造函数会被自动调用。

构造函数可以重载。

析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,它不能带任何参数,也没有返回值(包括void类型)。

只能有一个析构函数,不能重载。

3.Const修饰符在类定义中有什么作用。

答:

const修饰符表示该参数在成员函数内不会,也不能被修改,成员函数修饰为const时,只能读取成员变量,不能修改。

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

当前位置:首页 > 医药卫生 > 药学

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

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