云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C++第五章 类与对象习题解答

C++第五章 类与对象习题解答

  • 62 次阅读
  • 3 次下载
  • 2025/12/2 23:32:52

第五章 类与对象习题

case Y2000:cout<<\break; case Y2001:cout<<\break; case Y2002:cout<<\break; case Y2003:cout<<\break; case Y2004:cout<<\break; case Y2005:cout<<\break; }

switch(month){//,,,,,,,,

case Jan:cout<<'/'<<\break; case Feb:cout<<'/'<<\break; case Mar:cout<<'/'<<\break; case Apr:cout<<'/'<<\break; case May:cout<<'/'<<\break; case Jun:cout<<'/'<<\break; case Jul:cout<<'/'<<\break; case Aug:cout<<'/'<<\break; case Sep:cout<<'/'<<\break; case Oct:cout<<'/'<<\break; case Nov:cout<<'/'<<\break; case Dec:cout<<'/'<<\break; }

cout<<'/'<

cout<<\ cout<

int main(){

Timedate A(Y2004,Mar,3),B; A.list(); B.list();

B.putdate(Y2005,Oct,18); B.puttime(17,30,00); B.list(); }

5.4 设计并测试一个矩形类(Rectangle),属性为矩形的左下与右上角的坐标,矩形水平放

置。操作为计算矩形周长与面积。测试包括用成员函数和普通函数。

解:这里的矩形的4边分别与x轴y轴平行,为最简单的情况。注意参数有缺省值的函数

的声明和定义格式。 #include #include class Rectangle {

double left, top ; double right, bottom;

5

第五章 类与对象习题

public:

Rectangle(double l=0, double t=0, double r=0, double b=0);//变量名可省略 ~Rectangle(){}; //析构函数,在此函数体为空

void Assign(double l,double t,double r,double b);

double getLeft(){ return left;}下四个函数皆为内联成员函数 double getRight(){ return right;} double getTop(){return top;}

double getBottom(){return bottom;} void Show(); double Area();

double Perimeter(); };

// 构造函数,带缺省参数,缺省值为全0,在声明中指定

Rectangle::Rectangle(double l , double t, double r, double b) { left = l; top = t;

right = r; bottom = b; }

void Rectangle::Assign(double l, double t, double r, double b){//赋值 left = l; top = t; right = r; bottom = b; }

void Rectangle::Show(){

cout<<\

cout<<\}

double Rectangle::Area(){

return fabs((right-left)*(bottom-top)); }

double Rectangle::Perimeter(){

return 2*(fabs(right-left)+fabs(bottom-top)); }

void print(Rectangle rt){//普通函数

cout<<\ cout<<\

(\}

void main(){

Rectangle rect; rect.Show();

rect.Assign(100,200,300,400); rect.Show();

Rectangle rect1(0,0,200,200); rect1.Show();

6

第五章 类与对象习题

Rectangle rect2(rect1); rect2.Show(); print(rect);

cout<<\面积\周长\}

5.5 定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计

算周长、面积,输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为0,周长和面积在构造函数中生成)和拷贝构造函数。

解:通常所有数据成员都在构造函数中赋初值。拷贝构造函数以本类的引用为参数。#include #include class Circle{

double r,Area,Circumference; public:

Circle(double a=0); Circle(Circle &);

void SetR(double R); double GetR(){return r;}

double GetAreaCircle(){return Area;}

double GetCircumference(){return Circumference;} };

Circle::Circle(double a){ r=a;

Area=r*r*3.14159265;

Circumference=2*r*3.14159265; }

Circle::Circle(Circle & cl){ r=cl.r;

Area=cl.Area;

Circumference=cl.Circumference; }

void Circle::SetR(double R){ r=R;

Area=r*r*3.14159265;

Circumference=2*r*3.14159265; }

void main(){

Circle cl1(2),cl2,cl3=cl1;

cout<<\圆半径:\圆周长:\ <<'\\t'<<\圆面积:\ cl2.SetR(4);

7

第五章 类与对象习题

cout<<\圆半径:\圆周长:\ <<'\\t'<<\圆面积:\}

5.6 设计一个学校在册人员类(Person)。数据成员包括:身份证号(IdPerson),姓名(Name),

性别(Sex),生日(Birthday)和家庭住址(HomeAddress)。成员函数包括人员信息的录入和显示。还包括构造函数与拷贝构造函数。设计一个合适的初始值。 解:本题为指出构造函数等的调用,加了一些提示语句。 #include #include

enum Tsex{mid,man,woman}; class Person{

char IdPerson[19]; //身份证号,18位数字 char Name[20]; //姓名 Tsex Sex; //性别

int Birthday; //生日,格式1986年8月18日写作19860818 char HomeAddress[50]; //家庭地址 public:

Person(char *,char *,Tsex,int,char *); Person(Person &); Person(); ~Person();

void PrintPersonInfo(); void inputPerson(); //其他接口函数 };

Person::Person(char *id,char *name,Tsex sex,int birthday,char *homeadd){ cout<<\构造Person\ strcpy(IdPerson,id); strcpy(Name,name); Sex=sex;

Birthday=birthday;

strcpy(HomeAddress,homeadd); }

Person::Person(){

cout<<\缺省构造Person\

IdPerson[0]='\\0';Name[0]='\\0';Sex=mid; Birthday=0;HomeAddress[0]='\\0'; }

Person::Person(Person & Ps){

cout<<\拷贝构造Person\ strcpy(IdPerson,Ps.IdPerson); strcpy(Name,Ps.Name); Sex=Ps.Sex;

8

搜索更多关于: C++第五章 类与对象习题解答 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
本文作者:...

共分享92篇相关文档

文档简介:

第五章 类与对象习题 case Y2000:cout<<\break; case Y2001:cout<<\break; case Y2002:cout<<\break; case Y2003:cout<<\break; case Y2004:cout<<\break; case Y2005:cout<<\break; } switch(month){//,,,,,,,, case Jan:cout<<'/'<<\break; case Feb:cout<<'/'<<\break; case Mar:cout<<'/'<<\break; case Apr:cout<<'/'<<\break; case May:cout<<'/'<<\break; case Jun:cout<<'/'<<\break; case

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com