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

cout<

cout<

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

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

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

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

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

36

习题6

基本概念题:

9.1 什么叫运行时的多态性?动态绑定和运行时的多态性有什么关系? 9.2 什么叫虚函数?虚函数怎样实现运行时的多态性?

9.3 虚函数方法和派生类对基类成员函数覆盖方法有哪些相同之处和不同之处?

9.4 虚析构函数有什么作用?

9.5 什么叫抽象类?抽象类有什么用途? 9.6 怎样用纯虚函数方法设计抽象类? 9.7 空的虚函数和纯虚函数有什么区别? 9.8 虚函数怎样实现运行时的多态性? 9.9 纯虚函数可以实现运行时的多态性吗?

程序阅读和设计题:

9.10 阅读程序,给出运行结果:

#include class Base { public:

virtual void Set(int b){x=b;} virtual int Get(){ return x;} private: int x; };

class Derived: public Base { public:

void Set(int d){y = d;} int Get(){return y;} private: int y; };

void main( ) {

37

Base B_obj; Derived D_obj; Base *p=&B_obj; p->Set(100);

cout<<\ p=&D_obj; p->Set(200);

cout<<\ p->Base::Set(300);

cou

>>閻忕偞娲栫槐鎴﹀礂閵婏附鐎�<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4