类和对象一Word文档格式.docx

上传人:b****2 文档编号:15169362 上传时间:2022-10-28 格式:DOCX 页数:12 大小:18.49KB
下载 相关 举报
类和对象一Word文档格式.docx_第1页
第1页 / 共12页
类和对象一Word文档格式.docx_第2页
第2页 / 共12页
类和对象一Word文档格式.docx_第3页
第3页 / 共12页
类和对象一Word文档格式.docx_第4页
第4页 / 共12页
类和对象一Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

类和对象一Word文档格式.docx

《类和对象一Word文档格式.docx》由会员分享,可在线阅读,更多相关《类和对象一Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

类和对象一Word文档格式.docx

}

C.classP{D.classP{

intf;

public:

inta;

f=25;

voidSeta(intx){a=x;

分析:

在类体内不可对数据成员进行初始化;

类定义结束时需用分号;

只有类中的成员函数才能存取类中的私有数据。

二.改错题

1.#include<

math.h>

classPoint{

public:

voidSet(doubleix,doubleiy)//设置坐标

{x=ix;

y=iy;

doublexOffset()//取x轴坐标分量

{returnx;

doubleyOffset()//取y轴坐标分量

{returny;

doubleangle()//取点的极坐标θ

{return(180/3.14159)*atan2(y,x);

doubleradius()//取点的极坐标半径

{returnsqrt(x*x+y*y);

protected:

doublex;

//x轴分量

doubley;

//y轴分量

}//error:

缺少分号

voidmain()

{Pointp;

doublex,y;

cout<

"

Enterxandy:

\n"

;

cin>

>

x>

y;

p.Set(x,y);

p.x+=5;

//error:

私有成员不能在类外被访问

p.y+=6;

同上

angle="

<

p.angle()

radius="

p.radius()

xoffset="

p.xOffset()

yoffset="

p.yOffset()<

endl;

2.分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。

#include<

iostream.h>

classone

{inta1,a2;

public:

one(intx1=0,x2=0);

};

{onedata(2,3);

cout<

data.a1<

data.a2<

出错原因:

构造函数参数表语法错;

构造函数没有函数体;

类的对象不能直接访问类的私有成员变量。

改正后的程序如下:

#include<

classone

{inta1,a2;

one(intx1=0,intx2=0){a1=x1;

a2=x2;

intgeta1(){returna1;

intgeta2(){returna2;

data.geta1()<

data.geta2()<

3.分析以下程序的错误原因,给出修改方案使之能正确运行。

#include<

classAmplifier{

floatinvol,outvol;

Amplifier(floatvin,floatvout)

{invol=vin;

outvol=vout;

floatgain();

Amplifier:

:

floatgain(){returnoutvol/invol;

{Amplifieramp(5.0,10.0);

\n\nThegainis=>

gain()<

成员函数在类体外定义格式是:

函数返回类型类名:

成员函数名(参数表);

成员函数调用格式是:

对象名.成员函数名(参数表)。

classAmplifier

{floatinvol,outvol;

Amplifier(floatvin,floatvout){invol=vin;

floatAmplifier:

gain(){returnoutvol/invol;

amp.gain()<

三.编程题

(1)定义盒子Box类,要求具有以下成员:

可设置盒子形状;

可计算盒子体积;

可计算盒子的表面积。

classBox

{intx,y,z;

intv,s;

voidinit(intx1,inty1,intz1){x=x1;

y=y1;

z=z1;

voidvolue(){v=x*y*z;

voidarea(){s=2*(x*y+x*z+y*z);

voidshow()

{cout<

x="

x<

y="

y<

z="

z<

cout<

s="

s<

v="

v<

{Boxa;

a.init(2,3,4);

a.volue();

a.area();

a.show();

(2)定义计数器类Counter。

要求具有以下成员:

计数器值;

可进行增值和减值记数;

可提供记数值。

classCounter

{intn;

voidinit_Counter(intm){n=m;

voidin_Counter(){n++;

voidde_Counter(){n--;

voidshow(){cout<

n<

{Countera;

a.init_Counter(10);

a.show();

a.de_Counter();

a.show()<

(3)定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。

//time.h

#include"

time.h"

classTime{

voidSet(inth,intm,ints);

voidDisplay();

protected(private):

inthour;

intminute;

intsecond;

//time.cpp

voidTime:

Set(inth,intm,ints)

{

h%=24;

m%=60;

s%=60;

//简单正确性处理

hour=h;

minute=m;

second=s;

Display()

{cout<

hour<

minute<

second<

//主程序

Timea;

a.Set(3,32,48);

a.Display();

(4)编写一个程序,设计一个Tdate类,它应该满足下面的条件:

1)用这样的格式输出日期:

日-月-年;

2)判断该年是否为闰年;

3)设置日期。

//tdate.h

classTdate

{pubilc:

voidset(intm,intd,inty);

intIsleapyear();

voidprint();

private:

intmonth,day,year;

•//tdate.cpp

•#include<

•#include“tdate.h”

•voidTdate:

set(intm,intd,inty)

•{month=m;

day=d;

year=y;

•intTdate:

Isleapyear()

•{return(year%4==0&

&

year%100!

=0)||(year%400==0);

print()

•{cout<

month<

“-”<

day<

year<

•voidmain()

•{Tdates;

•s.set(2,15,1998);

•s.print();

•if(s.Isleapyear())

•cout<

今年为闰年"

•else

cout<

今年不是闰年"

}}

(5)定义一个满足如下要求的类Date

用下面的格式输出日期日/月/年

在运行的日期上加一天

设置日期

classDate{

voidAddOneDay();

voidSetDay(inty,intm,intd);

boolLegal(inty,intm,intd);

boolIsLeapYear(inty);

intyear,month,day;

voidDate:

day<

/"

month<

year<

endl;

AddOneDay()

{if(Legal(year,month,day+1))

day++;

elseif(Legal(year,month+1,1))

month++,day=1;

elseif(Legal(year+1,1,1))

day=1,mo

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1