西安石油大学大二(上)C++面向对象程序设计课件第5章习题(2)

2020-05-24 10:18

cout<<\

}

};

class Circle { Point center; //圆心位置

int radius; //半径

public: Circle(int cx,int cy, int r):center(cx,cy),radius(r) { cout<<\

}

~Circle() {cout<<\

};

void main() {

Circle c(3,4,5); }

3)

#include #include class Point { int x,y; public: Point(int x1=0, int y1=0) :x(x1), y(y1) { cout<<\

}

~Point() { cout<<\

}

};

class Text {

char text[100]; //文字内容 public:

Text(char * str) { strcpy(text,str); cout<<\ }

~Text() {cout<<\

};

141

class CircleWithText : public Point,public Text { public: };

void main() { }

CircleWithText cm(3,4,\

CircleWithText(int cx,int cy, char *msg): Point(cx,cy),Text(msg) { }

~CircleWithText() {cout<<\

cout<<\

(4)

#include class Date { public:

void SetDate(int y,int m,int d){ Year=y; Month=m; Day=d; } void PrintDate(){ cout<

Date(int y,int m,int d){SetDate(y,m,d);} protected:

int Year,Month,Day; };

class Time { public:

void SetTime(int h,int m,int s){ Houre=h; Minutes=m; Seconds=s;} void PrintTime()

{ cout<

Time(int h,int m,int s){SetTime(h,m,s);} protected:

int Houre, Minutes, Seconds; };

class Date_Time: public Date, public Time { public:

142

Date_Time( ):Date(),Time(){};

Date_Time(int y,int mo,int d,int h,int mi,int s): };

void main( ) {

Date_Time dt_a, dt_b(2002,10,1,6,0,0); dt_a.PrintDate_Time(); dt_b.SetTime(23,59,59); dt_b.PrintDate_Time(); dt_a.SetDate(2002,12,31); dt_a.PrintDate_Time(); }

Date(y,mo,d), Time(h,mi,s){}

void PrintDate_Time(){PrintDate();PrintTime();}

(5)

#include class Date { public:

Date(int y=2001,int m=1,int d=1){Year=y; Month=m; Day=d;} void PrintDate(){ cout<

int Year,Month,Day; };

class Time { public:

Time(int h=5,int m=30,int s=0){Houre=h; Minutes=m; Seconds=s;} void PrintTime()

{ cout<

int Houre, Minutes, Seconds; };

class Date_Time: public Date, public Time { public:

Date_Time( ){};

Date_Time(int y,int mo,int d,int h=0,int mi=0,int s=0):

143

Date(y,mo,d), Time(h,mi,s){}

void PrintDate_Time(){PrintDate();PrintTime();}

};

void main( ) {

Date_Time a, b(2002,10,1,6,20,0), c(2003,3,8,6,7); a.PrintDate_Time(); b.PrintDate_Time(); c.PrintDate_Time(); }

6)

#include class Base { public:

Base (int i,int j){ x0=i; y0=j;} void Move(int x,int y){ x0+=x; y0+=y;}

void Show(){ cout<<\private: int x0,y0; };

class Derived: private Base { public:

Derived(int i,int j,int m,int n):Base(i,j){ x=m; y=n;} void Show (){cout<<\ void Move1(){Move(2,3);} void Show1(){Base::Show();} private: int x,y; };

void main( ) {

Base b(1,2); b.Show();

144

Derived d(3,4,10,15); d.Move1(); d.Show(); d.Show1(); }

7)

#include class Point {

public:

void InitP(float x0=0, float y0=0) {X=x0;Y=y0;} void Move(float xf, float yf) {X+=xf;Y+=yf;} float GetX() {return X;} float GetY() {return Y;} private: float X,Y; };

class Rectangle: public Point {

public:

void InitR(float x, float y, float w, float h) { InitP(x,y);W=w;H=h;

}

void ZoomR(float k){W*=k,H*=k;} float GetH() {return H;} float GetW() {return W;} private: float W,H; };

void main() {

Rectangle rect;

rect.InitR(10,20,30,40);

cout<

<

145

cout<

cout<

5.18 设计一个点类,它仅包含两个属性:横坐标和纵坐标。通过继承点类再设计一个圆类,它除了有一个圆心,还有半径,还应该能够计算圆的周长和面积等。编写一个测试程序来测试所设计的类能否实现预定的功能。

5.19 设计一个动物类,它包含一些动物的属性,例如名称、大小、重量等,动物可以跑或走。然后设计一个鸟类,除了动物的基本属性外,它还有自己的羽毛、翅膀等,鸟除了跑或走外,它还可以飞翔。为了继承动物类的特性,鸟类应该继承动物类。编写一个测试程序来测试所设计的鸟类能否实现预定的功能。 5.20 先设计一个长方形类,再通过继承长方形类设计一个正方形类,正方形类中通过覆盖父类的成员函数得到一些新的功能。 5.21 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄帐户类,储蓄帐户类中增加一个静态成员变量(年利率),并增加如下成员函数: (1)计算月利息:存款金额*年利率/12 (2)更改利率(静态方法):重新设置年利率

最后,编写一个测试程序来测试所设计的储蓄帐户类能否实现预定的功能。 5.22 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄帐户类,储蓄帐户类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行帐户经常用到的成员函数,要求:

(1)类中的成员函数具有输入、输出储户上述信息的功能。 (2)将账号设计成不可更改。 (3)修改密码时要提供原密码。

5.23 在阅读5.6.1节内容的基础上,进一步分析图书馆的图书和杂志管理和借阅方式,设计一个基本符合图书馆实际工作方式的图书和杂志借阅系统。

146


西安石油大学大二(上)C++面向对象程序设计课件第5章习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:腾讯公司的网络营销分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: