例子Word格式文档下载.docx
《例子Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《例子Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
default:
cout不是合法的输入值!
endl;
/方法二#includeusingnamespacestd;
floatarea1(floatr)returnPI*r*r;
floatarea2(floata,floatb)returna*b;
floatarea3(floata)returna*a;
area=area1(radius);
area=area2(a,b);
area=area3(a);
/方法三#includeusingnamespacestd;
if(iType=1)coutradius;
elseif(iType=2)couta;
elseif(iType=3)couta;
elsecout不是合法的输入值!
课堂练习:
1.编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
2.利用函数模板重新编写上题。
(函数模板适用参数个数相同,类型不同的函数)函数实验添加一题:
用模板函数实现tswap(x,y),函数功能为交换x和y的值。
#includeusingnamespacestd;
intmax1(intx,inty)return(xy?
x:
y);
intmax1(intx,inty,intz)inttemp1=max1(x,y);
return(yz?
y:
z);
doublemax1(doublex,doubley)return(xy?
doublemax1(doublex,doubley,doublez)doubletemp1=max1(x,y);
intmain()intx1,x2;
doubled1,d2;
x1=max1(5,6);
x2=max1(2,3,4);
d1=max1(2.1,5.6);
d2=max1(12.3,3.4,7.8);
coutx1=x1endl;
coutx2=x2endl;
coutd1=d1endl;
coutd2=d2endl;
templateTmax1(Tx,Ty)return(xy?
templateTmax1(Tx,Ty,Tz)Ttemp1=max1(x,y);
1.定义一个Dog类,包含的age、weight等属性,以及对这些属性操作的方法。
实现并测试这个类。
classDogpublic:
intGetAge()returnitsAge;
/inline!
voidSetAge(intage)itsAge=age;
intGetWeight()returnitsWeight;
voidSetWeight(intweight)itsWeight=weight;
private:
intitsAge,itsWeight;
intmain()Dogxiaohei;
xiaohei.SetAge(7);
xiaohei.SetWeight(20);
coutxiaoheiis;
coutxiaohei.GetAge()yearsoldand;
coutxiaohei.GetWeight()poundsweight.;
return0;
2.定义一个tree类,有成员ages,成员函数grow(intyears)对ages加上years,age()显示tree对象的ages的值。
补充例题:
构造函数,无参数的构造函数#includeusingnamespacestd;
classcarspublic:
cars();
/构造函数的声明voidshow();
intwheels;
intdoors;
intspeed;
cars:
cars()/构造函数的定义wheels=4;
doors=4;
speed=60;
cout构造函数被调用!
voidcars:
show()coutwheels:
wheelsendl;
coutdoors:
doorsendl;
coutspeed:
speedendl;
intmain()carscar;
car.show();
带参数的构造函数:
classstudentprivate:
char*name;
intage;
intgrade;
public:
student(char*x,inty,intz);
/带有参数的构造函数,其目的是使用参数的值对对象的成员变量赋初值voidshow();
student:
student(char*x,inty,intz)name=x;
age=y;
grade=z;
cout有参数的构造函数调用!
voidstudent:
show()coutname:
name;
coutage:
age;
coutgrade:
grade;
intmain()studentzhang(xiaoming,20,3);
studentli(xiaoli,19,3);
zhang.show();
coutendl;
li.show();
带默认形参的构造函数:
classdateprivate:
intyear;
intmonth;
intday;
date(inty=2009,intm=1,intd=1)year=y;
month=m;
day=d;
/带有默认参数的构造函数voidshow()coutthedateis:
year.month.dayendl;
intmain()datedate1;
date1.show();
datedate2(2010);
date2.show();
datedate3(2010,5);
date3.show();
datedate4(2009,9,23);
date4.show();
构造函数的重载#includeusingnamespacestd;
classClock/时钟类的声明public:
/外部接口,公有成员函数Clock(intNewH,intNewM,intNewS);
Clock();
voidSetTime(intNewH=0,intNewM=0,intNewS=0);
/带有默认形参值的成员函数voidShowTime();
/私有数据成员intHour,Minute,Second;
/时钟类成员函数的具体实现voidClock:
SetTime(intNewH,intNewM,intNewS)Hour=NewH;
Minute=NewM;
Second=NewS;
inlinevoidClock:
ShowTime()coutHour:
Minute:
Secondendl;
Clock:
Clock()Hour=0;
Minute=0;
Second=0;
Cout”无参数的构造函数调用!
”;
Clock(intNewH,intNewM,intNewS);
Hour=NewH;
Cout”有参数的构造函数调用!
/主函数intmain()ClockmyClock1;
/定义对象myClock1,调用无参数的构造函数myClock1.ShowTime();
/显示时间ClockmyClock2(8,30,30);
/定义对象myClock2,调用有参数的构造函数myClock2.ShowTime();
/显示时间3.定义一个矩形类,有长、宽两个属性,有成员函数计算矩形的面积。
4.定义一个Circle类,有数据成员半径Radius,成员函数GetArea(),计算圆的面积,构造一个Circle的对象进行测试。