C++程序设计实践上机指导书(第六次)专业班级学号姓名信息学院2实践成绩评价说明1)上机前充分准备实践材料,对上机内容有程序草稿。(10分)2)独立完成实践任务,对实践过程非常清晰。(30分)3)认真理解知识点,能够与理论知识相结合。(10分)4)在机房遵守上机守则,接受实践指导教师的监督与管理。(20分)5)认真填写实践指导书,写出实践小结。(10分)6)在实践中具备一定的创新思想,能够主动与指导教师探讨。(5分)7)加大实践工作量,主动完成实践指导书中的选做题目。(5分)8)掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。3上机六类与对象(二)一、目的1、掌握类的定义和使用;2、学习具有不同访问属性的成员的访问方式;3、学习构造函数的使用。二、要求:1.在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。2.所有环节均由每位同学独立完成,严禁抄袭他人结果。三、步骤和内容1、基于书P106例4-1实例,为类添加构造函数。2、基于作业4-8,为类添加构造函数。3、基于作业4-9,分别设计带有默认形参和不带默认形参值的构造函数。4、基于作业4-13,分别设计带有默认形参和不带默认形参值的构造函数。四、思考题1、如何使用类?有什么作用?五、结果分析1.#includeiostreamusingnamespacestd;classClock{public:Clock(intnewH,intnewM,intnewS);//构造函数voidsetTime(intnewH,intnewM,intnewS);voidshowTime();private:inthour,minute,second;};Clock::Clock(intnewH,intnewM,intnewS):hour(newH),minute(newM),second(newS){}inlinevoidClock::showTime(){couthour:minute:secondendl;}intmain(){//ClockmyClock;coutTimeis:endl;4ClockmyClock(8,30,30);myClock.showTime();return0;}2.#includeiostream#includecstringusingnamespacestd;classDog{public:Dog();voidshowdog();private:charname[50];intage;doubleweight;};Dog::Dog(){cout输入狗的名字:endl;cinname;cout输入狗的年龄:endl;cinage;cout输入狗的体重:endl;cinweight;}voidDog::showdog(){coutdogname:nameendl;coutdogage:ageendl;coutdogweight:weightendl;}intmain(){Dogmydog;mydog.showdog();return0;}3.#includeiostreamusingnamespacestd;classRectangle{intleftdown1,leftdown2;intrightup1,rightup2;public:Rectangle(){cout不带形参:endl;cout请输入左下角坐标:;cinleftdown1leftdown2;cout请输入右上角坐标:;5cinrightup1rightup2;};Rectangle(intld1,intld2,intru1,intru2){cout带默认形参:endl;leftdown1=ld1,leftdown2=ld2;rightup1=ru1,rightup2=ru2;cout左下角坐标为(leftdown1,leftdown2)endl;cout右下角坐标为(rightup1,rightup2)endl;}voidgetvalue(intl0,intl2,intr1,intr2);voidarea();};voidRectangle::getvalue(intl0,intl2,intr1,intr2){leftdown1=l0;leftdown2=l2;rightup1=r1;rightup2=r2;}voidRectangle::area(){cout(rightup1-leftdown1)*(rightup2-leftdown2)endl;}intmain(){cout矩形A的坐标:endl;RectangleA;cout矩形A面积为:;A.area();coutendl;cout矩形B的坐标:endl;RectangleB(2,3,10,12);cout矩形B面积为:;B.area();}4.#includeiostreamconstfloatpi=3.14;usingnamespacestd;classCircle{intradius;public:Circle(){cout请输入圆A的半径:;cinradius;};Circle(intr){radius=r;cout圆B的半径为:radiusendl;}voidgetArea();};voidCircle::getArea(){floatarea;area=pi*radius*radius;coutareaendl;}intmain(){6CircleA;cout圆A的面积为:;A.getArea();coutendl;CircleB(10);cout圆B的面积为:;B.getArea();}六、指导教师评阅成绩