您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《面向对象程序设计》答案
实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。2、掌握如何编辑、编译、连接和运行一个C++程序。3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。二、实验要求1、分析下列程序运行的结果。程序一:#includeiostream.hintadd(intx,inty=8);voidmain(){intx=4;coutadd(x),;coutadd(x,add(add(x,add(x))))endl;}intadd(intx,inty){returnx+y;}//12,28程序二:#includeiostream.hvoidmain(){int*p,i;i=5;p=&i;i=*p+10;couti=iendl;}//i=15程序三:#includeiostream.hvoidmain(void){inti=10;int&r=i;r++;couti=i,r=r'\n';i=88;couti=i,r=r'\n';}//i=11,r=11i=88,r=88程序四:#includeiostream.hintf(inti){staticintk=1;for(;i0;i--)k+=i;returnk;}voidmain(){inti;for(i=0;i5;i++)coutf(i);}//1251121程序五:#includeiostream.hvoidfunc();intn=1;voidmain(){staticinta;intb=-9;couta:ab:bn:nendl;b+=4;func();couta:ab:bn:nendl;n+=10;func();}voidfunc(){staticinta=2;intb=5;a+=2;n+=12;b+=5;couta:ab:bn:nendl;}//a:0b:-9n:1a:4b:10n:13a:0b:-5n:13a:6b:10n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。2、进一步熟悉编辑、编译、连接和运行C++程序的方法。3、进一步熟悉C++程序的结构和编程方法。二、实验要求1、分析下列程序运行的结果。#includeiostream.hintamount=123;voidmain(){intamount=456;cout::amount',';coutamount',';::amount=789;cout::amount',';coutamount'\n';}//123,456,789,4562、编写一个程序,用来求2个或3个正整数中的最大数。①用不带默认参数的函数实现。includeiostreamusingnamespacestd;intmax(inta,intb,intc)//求3个整数中的最大者{if(ba)a=b;if(ca)a=c;returna;}intmax(inta,intb)//求两个整数中的最大者{if(ab)returna;elsereturnb;}intmain(){inta=7,b=-4,c=9;coutmax(a,b,c)endl;//输出3个整数中的最大者coutmax(a,b)endl;//输出两个整数中的最大者return0;}②用带默认参数的函数实现。#includeiostreamusingnamespacestd;intmain(){intmax(inta,intb,intc=0);inta,b,c;cinabc;coutmax(a,b,c)=max(a,b,c)endl;coutmax(a,b)=max(a,b)endl;return0;}intmax(inta,intb,intc){if(ba)a=b;if(ca)a=c;returna;}3、有5个字符串,要求对它们按由小到大顺序排列,用string方法。#includeiostream#includestringusingnamespacestd;intmain(){inti;stringstr[5]={BASIC,C,FORTRAN,C++,PASCAL};voidsort(string[]);sort(str);coutthesortedstrings:endl;for(i=0;i5;i++)coutstr[i];coutendl;return0;}voidsort(strings[]){inti,j;stringt;for(j=0;j5;j++)for(i=0;i5-j;i++)if(s[i]s[i+1]){t=s[i];s[i]=s[i+1];s[i+1]=t;}}4、定义一个求两个数中较小值的函数模板min(),要求在main()函数中进行调用求两个浮点型数据和两个整型数据中较小的数。#includeiostream#includestringusingnamespacestd;templatetypenameTTmin(Ta,Tb){returnab?a:b;}intmain(){inta=1,b=9;floatc=1.23471,d=32.431564;coutTheminofaandbismin(a,b)endlTheminofcanddismin(c,d)endl;return0;}实验三类和对象(一)一、实验目的1、掌握声明类的方法,类和类的成员的概念以及定义对象的方法。2、掌握类的构造函数与析构函数的概念和使用方法。3、初步掌握用类和对象编制基于对象的程序。二、实验要求1、分析下面的程序,写出其运行时的输出结果。#includeiostreamusingnamespacestd;classDate{public:Date(int,int,int);Date(int,int);Date(int);Date();voiddisplay();private:intmonth;intday;intyear;};Date∷Date(intm,intd,inty):month(m),day(d),year(y){}Date∷Date(intm,intd):month(m),day(d){year=2005;}Date∷Date(intm):month(m){day=1;year=2005;}Date∷Date(){month=1;day=1;year=2005;}voidDate∷display(){coutmonth″/″day″/″yearendl;}intmain(){Dated1(10,13,2005);Dated2(12,30);Dated3(10);Dated4;d1.display();d2.display();d3.display();d4.display();return0;}//10/13/200512/30/200510/1/20051/1/20052、建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员变量:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。#includeiostream#includestringusingnamespacestd;classstudent{public:student();voiddisplay();private:stringsName,sNum;charchSex;intiAge;};student::student(stringna,stringnum,chars,inta):sName(na),sNum(num),chSex(s),iAge(a){}voidstudent::display(){cout----------THEINFORMATIONOFSTUDENT----------\n;coutname:sNameendlnumber:sNumendlsex:chSexendlage:iAgeendl;}intmain(){students(WangFang,0811045263,'w',20);s.display();return0;}3、类Person的定义如下,请实现该类,并在主函数中创建对象obj,然后使用构造函数为obj赋予初始值(内容自定)。classPerson{private:charname[10];intage;intsalary;chartel[8];public:Person(char*xname,intxage,intxsalary,char*xtel);voiddisp();};解:#includeiostream.h#includestring.hPerson::person(char*Xname,intXage,intXsalary,char*Xtel){strcpy(name,xname);age=xage;salary=xsalary;strcpy(tel,xtel);}voidPerson::disp(){cout“姓名:”nameendl;cout“年龄”:ageendl;cout“工资”:salaryendl:cout“电话”:telendl;}voidmain(){Personobj(“张三”,25,850,“45678912”);obj.disp()}实验四类和对象(二)一、实验目的1、进一步加深对类和对象的理解。2、掌握对类的对象数组、对象的指针及其使用方法。3、掌握友元的概念和使用。4、了解类模板的使用方法。二、实验要求1、分析并比较下列程序运行的结果。程序一:#includeiostream.h#includeiostream.hclasssmallone{public:smallone(intsma){coutsmconstr:sma\n;}};voidfn(intn){smallonesm(n);coutinfunctionfnwithn=nendl;}intmain(){fn(10);fn(20);return0;}//smconstr:10infunctionfnwithn=10smconstr:20infunctionfnwithn=20程序二:#includeiostream.h#includeiostream.hclasssmallone{public:smallone(intsma){coutsmconstr:sma\n;}};voidfn(intn){staticsmallonesm(n);coutinfunctionfnwithn=nendl;}intmain(){fn(10);fn(20);return0;}//smconstr:10infunctionfnwithn=10infunctionfnwithn=202、建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。#includeiostreamusingnamespacestd;classStudent{public:Student
本文标题:《面向对象程序设计》答案
链接地址:https://www.777doc.com/doc-5562312 .html