010942 钟杉 通信1304.docx
- 文档编号:28108017
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:19
- 大小:1.89MB
010942 钟杉 通信1304.docx
《010942 钟杉 通信1304.docx》由会员分享,可在线阅读,更多相关《010942 钟杉 通信1304.docx(19页珍藏版)》请在冰豆网上搜索。
010942钟杉通信1304
实验报告
课程名称:
C++程序设计基础
实验题目:
实验1类的定义方法和对象的使用方法
实验2继承与派生
系别:
信息与通信工程学院
专业:
通信工程
班级:
通信1304
学号:
2013010942
姓名:
钟杉
指导教师:
申闫春、丁濛
实验日期:
2014年11月12日
实验1、2类的定义方法和对象的使用方法、继承与派生
一、实验目的:
通过本次实验使学生掌握类的定义方法、构造类的方法,领会面向对象程序设计的方法;使学生掌握类的声明、成员函数的声明与定义的方法,掌握通过构造函数完成对象初始化的目的。
二、实验内容:
1)用函数方法编程,输入两个整数,输出其中的大数。
2)编程计算两个数的平均值。
3)用面向对象程序设计方法,在屏幕上输出一个点。
4)用面向对象程序设计方法编程,输入学号、成绩,在屏幕上输出学号、成绩。
5)实现将变量i和j的值互换。
6)继承和派生动物
7)判断是否为闰年
三、实验要求:
1)学会上机操作步骤。
2)学会调试程序的基本方法。
3)总结编程中的心得体会。
四、实验源程序:
1、用函数方法编程,输入两个整数,输出其中的大数。
代码:
#include
usingnamespacestd;
intmax(inta,intb);//111111*********
intmain()
{intx,y,m;
//intmax(int,int);
cout<<"请输入X值:
";
cin>>x;
cout<<"请输入Y值:
";
cin>>y;
m=max(x,y);
cout<<"较大的值是:
"< return0; } intmax(inta,intb) {intn; if(a>b)n=a; elsen=b; returnn; } intmax(inta,intb)//3333333333333333 {intn; if(a>b)n=a; elsen=b; returnn; } 2、编程计算两个数的平均值。 #include usingnamespacestd; intmain() { floatx,y,z; cout<<"请输入X值: "; cin>>x; cout<<"请输入Y值: "; cin>>y; z=(x+y)/2; cout<<"平均值是: "< return0; }} 3、用面向对象程序设计方法,在屏幕上输出一个点。 1)用面向对象程序设计方法,在屏幕上输出一个点的坐标值。 代码: #include usingnamespacestd; classPoint { public: intx; inty; voidoutput() {cout< } }; intmain() { Pointpt; pt.x=5; pt.y=8; pt.output(); return0; } 2)在屏幕上输出一个点的坐标值。 #include intmain() { intx,y; x=5; y=8; cout< return0; } 4、用面向对象程序设计方法编程,输入学号、成绩,在屏幕上输出学号、成绩。 代码: #include usingnamespacestd; classStudent//声明一个类,类名为Student {private: //以下为类中的私有部分 intnum;//私有变量num intscore;//私有变量score public: //以下为类中公用部分 voidsetdata()//定义公用函数setdata { cout<<"请输入num: "< cin>>num;//输入num的值 cout<<"请输入score: "< cin>>score;//输入score的值 } voiddisplay()//定义公用函数display {cout<<"num="< cout<<"score="< }; };//类的声明结束 intmain()//主函数首部 { Studentstud1,stud2;//定义stud1和stud2为Student类的变量,称为对象 stud1.setdata();//调用对象stud1的setdata函数 stud2.setdata();//调用对象stud2的setdata函数 stud1.display();//调用对象stud1的display函数 stud2.display();//调用对象stud1的display函数 return0; } 5、实现将变量i和j的值互换。 1)无法实现将变量i和j的值互换。 #include usingnamespacestd; intmain() { voidswap(int,int); inti=3,j=5; swap(i,j); cout<<"i="< return0; } voidswap(inta,intb) {inttemp; temp=a; a=b; b=temp; }//运行输出仍然是: 3,5 2)用指针作为形参,可以实现将变量i和j的值互换。 #include usingnamespacestd; intmain() { voidswap(int*,int*); inti=3,j=5; swap(&i,&j);//实参是取变量的地址 cout<<"i="< return0; } voidswap(int*p1,int*p2) {inttemp; temp=*p1; *p1=*p2; *p2=temp; }//运行输出变成是: 5,3 3)用引用作为形参,传递变量的别名,可以实现将变量i和j的值互换。 #include usingnamespacestd; intswap(int&a,int&b) {inttemp; temp=a; cout<<"temp="< a=b; b=temp; return0; } intmain() { inti=3,j=5; swap(i,j); cout<<"i="< return0; }//运行输出变成是: 5,3 6、继承和派生动物 1)如果没有继承的方法 #include classAnimal {public: voideat() {cout<<"animaleat"< voidsleep() {cout<<"animalsleep"< voidbreathe() {cout<<"aniamlbreathe"< }; classFish {public: voideat() {cout<<"animaleat"< voidsleep() {cout<<"animalsleep"< voidbreathe() {cout<<"animalbreathe"< }; voidmain() {Animalan; an.eat(); Fishfh; fh.sleep(); } 2)有继承的好处 #include usingnamespacestd; classAnimal { public: voideat() {cout<<"animaleat"< voidsleep() {cout<<"animalsleep"< voidbreathe() {cout<<"aniamlbreathe"< }; classFish: publicAnimal { }; voidmain() {Animalan; an.eat(); Fishfh; fh.sleep(); } 7、判断是否为闰年 1)判断是否闰年? #include usingnamespacestd; classCdate {public: voidSetDate(inty,intm,intd); intIsLeapYear(); voidprint(); private: intyear,month,day; }; voidCdate: : SetDate(inty,intm,intd) {year=y;month=m;day=d; } intCdate: : IsLeapYear() {if((year%4==0&&year%100! =0)||(year%400==0)) cout<<"是闰年"< elsecout<<"不是闰年"< return0; } voidCdate: : print() {cout< } intmain() {Cdated1; d1.SetDate(2011,3,14); d1.IsLeapYear(); d1.print(); return0; } 2)交互时输入判断是否闰年? #include usingnamespacestd; classCdate {public: voidSetDate(); intIsLeapYear(); voidprint(); private: intyear,month,day; }; voidCdate: : SetDate() { inty;intm;intd; cout<<"请输入y值: "; cin>>y; cout<<"请输入m值: "; cin>>m; cout<<"请输入d值: "; cin>>d; year=y;month=m;day=d; } intCdate: : IsLeapYear() {if((year%4==0&&year%100! =0)||(year%400==0)) cout<<"是闰年"< elsecout<<"不是闰年"< return0; } voidCdate: : print() {cout< } intmain() {Cdated1; d1.SetDate(); d1.IsLeapYear(); d1.print(); return0; } 五、实验中的问题: 如何创建文件的头文件,如何分块编译程序 6、回答思考题: (1)类定义用class函数不用class而用main 七、实验心得: 通过这次实验让我明白了,如何创建头文件,了解了软件编译过程,使我更加熟悉了C++的编程方式,体会到继承的用法与便捷,熟悉软件的编译编程方式,对类类型有更深一步的了解与应用,同时也体会到C++相对于C语言在编程方面的优势,让我了解了,继承在面向对象是严重的重要性,希望我能够更好地运用这些知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 010942 钟杉 通信1304 通信 1304