面向对象C习题参考解答Word文档格式.docx

上传人:b****3 文档编号:7782146 上传时间:2023-05-09 格式:DOCX 页数:20 大小:16.95KB
下载 相关 举报
面向对象C习题参考解答Word文档格式.docx_第1页
第1页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第2页
第2页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第3页
第3页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第4页
第4页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第5页
第5页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第6页
第6页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第7页
第7页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第8页
第8页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第9页
第9页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第10页
第10页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第11页
第11页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第12页
第12页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第13页
第13页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第14页
第14页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第15页
第15页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第16页
第16页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第17页
第17页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第18页
第18页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第19页
第19页 / 共20页
面向对象C习题参考解答Word文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

面向对象C习题参考解答Word文档格式.docx

《面向对象C习题参考解答Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象C习题参考解答Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

面向对象C习题参考解答Word文档格式.docx

cout<

<

"

小狗:

d.getAge()<

岁,重"

d.getWeight()<

斤。

endl;

}

4-9设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。

math.h>

classRectangle

Rectangle(intxx1,intyy1,intxx2,intyy2)

x1=xx1;

y1=yy1;

x2=xx2;

y2=yy2;

floatgetArea()

returnfabs(x2-x1)*fabs(y2-y1);

intx1,y1;

intx2,y2;

Rectanglerec(0,0,10,20);

矩形面积:

rec.getArea()<

4-11定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。

Rectangle(intl,intw)

length=l;

width=w;

returnlength*width;

intlength;

intwidth;

Rectanglerec(10,20);

4-13定义一个Circle类,有数据成员radius(半径),成员函数getArea(),计算圆的面积,构造一个Circle的对象进行测试。

constfloatPI=3.1415;

classCircle

Circle(floatr)

radius=r;

returnradius*PI*PI;

floatradius;

Circlec(5.5);

圆的面积:

c.getArea()<

4-20定义一个复数类Complex,使得下面的代码能够工作。

Complexc1(3,5);

Complexc2=4.5;

c1.add(c2);

c1.show() 

;

//源程序如下:

classComplex

Complex(floatr=0.0,floati=0.0)

real=r;

image=i;

voidadd(Complexb)

real=real+b.real;

image=image+b.image;

voidshow()

cout<

real<

+"

image<

i"

floatreal;

//实部

floatimage;

//虚部

Complexc1(3,5);

Complexc2=4.5;

//相当于Complexc2(4.5);

c1.add(c2);

c1.show();

5-7定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;

静态成员函数getNumOfCats(),读取numOfCats。

设计程序测试这个类,体会静态数据成员和静态成员函数的用法。

classCat

Cat()

numOfCats++;

~Cat()

numOfCats--;

staticintgetNumOfCats()

returnnumOfCats;

staticintnumOfCats;

intCat:

:

numOfCats=0;

现在的Cat数量:

Cat:

getNumOfCats()<

Cata;

a.getNumOfCats()<

Catb;

b.getNumOfCats()<

5-14定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数getTotalWeight(),计算二者的重量和。

classCar;

classBoat

Boat(floatw)

friendfloatgetTotalWeight(Boatb,Carc);

classCar

Car(floatw)

floatgetTotalWeight(Boatb,Carc)

returnb.weight+c.weight;

Boatboat(3500);

Carcar(1000);

船和汽车共重"

getTotalWeight(boat,car)<

公斤。

7-5定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。

使用Rectangle类创建一个派生类Square。

constfloatPI=3.14;

classShape

Shape(floata,floatb=0.0)

this->

a=a;

b=b;

protected:

floata,b;

classRectangle:

publicShape

Rectangle(floatl,floatw):

Shape(l,w)

returna*b;

classCircle:

Circle(floatr):

Shape(r)

returna*PI*PI;

classSquare:

publicRectangle

Square(floatl):

Rectangle(l,l)

returna*a;

Rectangler(10,20);

Circlec(5);

Squares(10);

矩形的面积:

r.getArea()<

正方形的面积:

s.getArea()<

7-6定义一个哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象,观察基类与派生类的构造函数和析构函数的调用顺序。

classMammal

Mammal()

ConstructingMammal."

~Mammal()

DesstructingMammal."

classDog:

publicMammal

Dog()

ConstructingDog."

~Dog()

DesstructingDog."

7-8定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。

classDocument

Document(char*n)

strcpy(name,n);

name;

charname[50];

classBook:

publicDocument

Book(char*n,intp):

Document(n),pageCount(p)

书名:

Document:

show();

endl<

页数:

pageCount<

intpageCount;

Bookbook("

C++语言程序设计"

529);

book.show();

7-10定义一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数,声明一个Box对象,观察构造函数与析构函数的调用顺序。

classObject

Object()

ConstructingObject."

~Object()

DestructingObject."

voidsetWeight(intw)

intgetWeight()

intweight;

classBox:

publicObject

Box()

ConstructingBox."

~Box()

DestructingBox."

voidsetHeight(inth)

height=h;

intgetHeight()

returnheight;

voidsetWidth(intw)

intgetWidth()

returnwidth;

intheight;

Boxbox;

box.setHeight(5);

box.setWidth(10);

box.setWeight(8);

盒子:

高"

box.getHeight()<

,宽"

box.getWidth()<

,重"

box.getWeight()<

8-4

classCounter

Counter(intii=0)

i=ii;

voidprint()

i="

i<

Counteroperator+(inta)

Countertemp;

temp.i=i+a;

returntemp;

inti;

Counterc;

c=c+3;

c.print();

c=c+5;

8-5

virtualvoidspeak()

MammalSpeak!

classDog:

publicMammal

DogSpeak!

d.speak();

Mammal*p=&

d;

p->

speak();

8-7

classPoint

Point(intx=0,inty=0)

X=x;

Y=y;

("

X<

"

Y<

)"

Point&

operator++()

X++;

Y++;

return*this;

Pointoperator++(int)

Pointtemp=*this;

intX,Y;

Pointp;

(++p).print();

(p++).print();

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2