好文档 - 专业文书写作范文服务资料分享网站

Visual C++面向对象编程教程 第2版 (王育坚) 清华大学出版社 课后答案

天下 分享 时间: 加入收藏 我要投稿 点赞

3-44

一个名为 CPerson 的类有如下属性:姓名、身份证号、性别和年龄,请用 C++语言定义 这个类,并为上述属性定义相应的方法。

#include #include class CPerson

{

private:

char Name[10]; char ID[20]; char Sex[4]; int Age; public:

CPerson(char *na,char *id,char *se,int ag); void Show(); };

CPerson::CPerson(char *na,char *id,char *se,int ag)

{

strcpy(Name,na);

strcpy(ID,id); strcpy(Sex,se); Age=ag;

}

void CPerson::Show()

{

cout<<\姓名:\身份证:\cout<<\性别:\年龄:\

}

void main()

{

CPerson person(\王三\男 \

}

3-45 设计一个日期类 Date,该类用于表示日期值(年、月、日)。要求除了能够通过相应 得成

员函数设置和获取日期外,还能够实现将日期加一天的操作。

#include class date{

int year; int month;

int day; bool flag; public:

date() {

year=0; month=0; day=0; }

date(int yr,int mo,int da); void setdate(); int getyear(); int getmonth(); int getday(); void addday(); void show(); };

date::date(int yr,int mo,int da)

{

flag=false; if(mo>=1&&mo<=12&&da>=1&&da<=31) {

year=yr; month=mo; day=da;

} else {

flag=true;

}

}

void date::setdate()

{

cout<<\请输入年分\

cout<<\请输入月份(1-12)\while(month<1||month>12) {

cout<<\输入有误,请重新输入月份 (1-12)\} cout<<\请输入日期(1-31)\cin>>day;

while(day<1||day>31) {

cout<<\输入有误,请重新输入日期 (1-31)\} flag=false;

}

void date::show()

{

if(!flag) cout<

else cout<<\日期设置有误,不能输出\

}

int date::getyear()

{

return year;

}

int date::getmonth()

{

return month;

}

int date::getday()

{

return day;

}

void date::addday()

{

day++;

if(month==2)//判断是否是二月 {

bool leapyear;

leapyear=((year%4==0&&year0!=0)||(year@0==0));// 定义闰年 if(leapyear) {

if(day>29)//若是闰年的二月当 Day 大于 29 时,Day=1,Mon 增加一个 day=1;

month++; } } else {

if(day>28)//若不是闰年的二月当 Day 大于 28 时,Day=1,Mon 增加一 个月 {

day=1; month++; } }

}

else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

{

if(day>31)//若不是二月月大时,Day=1,Mon 增加一个月 {

day=1; month++; }

}

else

{

day=1; month++;

if(day>30)//若不是二月月小时,Day=1,Mon 增加一个月

{

}}

if(month>12)//若月大于 12 则 Mon=1,Year 增加一年

{

month=1; year++;

}}

void main()

{

date d1(1999,5,30); d1.show(); d1.setdate(); d1.show();

cout<<\日期增加一天后为:\d1.addday(); d1.show();

}

3-46

#include using namespace std; class CRectangle

{

private:

double X; double Y; double length; double width; public:

CRectangle(double s, double e, double l, double w) {

X=s; Y=e; length=l; width=w; }

~CRectangle(){}

void Move(double , double);

void Size(double ,double); void Where(); void Area(); };

void CRectangle::Move(double x, double y)

{

cout<<\矩形按向量(\移动\现在矩形左上角所在的位置:\

}

void CRectangle::Size(double cl, double cw)

{

cout<<\要更改的长和宽:\length=cl; width=cw;

cout<

void CRectangle::Where()

{

cout<<\现在矩形左上角所在的位置:\

}

void CRectangle::Area()

{

double area; area=length*width; cout<

}

int main()

{

CRectangle cr(2,3,5,4); cr.Where(); cr.Area(); cr.Move(1,2); cr.Size(2,3); return 0;

}

3-47

#include using namespace std; class CRectangle

{

Visual C++面向对象编程教程 第2版 (王育坚) 清华大学出版社 课后答案

3-44一个名为CPerson的类有如下属性:姓名、身份证号、性别和年龄,请用C++语言定义这个类,并为上述属性定义相应的方法。#include#includeclassCPerson{private:charName[10];char
推荐度:
点击下载文档文档为doc格式
6tsw950oyx1h1yk7phhy1xkfw968dk01att
领取福利

微信扫码领取福利

微信扫码分享