实验2.docx
- 文档编号:9648338
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:15
- 大小:119.03KB
实验2.docx
《实验2.docx》由会员分享,可在线阅读,更多相关《实验2.docx(15页珍藏版)》请在冰豆网上搜索。
实验2
电子信息学院
实验报告书
课程名:
面向对象程序设计
题目:
实验2C++对C的扩充
实验类别:
设计研究型
班级:
BX1004
学号:
35
姓名:
赵鑫
1、实验目的
(1)了解在面向过程程序设计中功能的扩充与增强,并善于在编写过程中应用这些新的功能。
(2)进一步熟悉在所用的系统上编辑、编译、连接和运行C++程序的方法。
(3)进一步熟悉C++程序的结构和编程方法。
2、实验内容
要求事先编好解决下面问题的程序,然后上机输入并调试运行。
(1)输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
#include<iostream>
using namespace std;
intmain()
{
inta,b;
c=add(a,b)
cout<<“a+b=”<<c<<endl;
return0;
}
int add(int x,int y)
{
z=x+y;
return(z);
}
(2)编一个程序,用来求2个或3个正整数中的最大数。
1、用不带默认参数的函数实现。
2、用带有默认参数的函数实现。
对比两种方法,分析用带有默认参数的函数的优点和应用场合,总结如何选择默认b参数的值。
请分析本题中默认参数的值应该在什么范围。
(3)对3个变量按由小到大顺序排序,要求使用变量的引用。
1、使用指针方法
2、使用变量的的引用
请总结引用时要注意什么问题。
(4)有5个字符串,要求对他们按由小到大的顺序排列,用string方法。
(5)编译一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型。
1、用重载函数实现。
2、用函数模板实现。
比较这两种方法各有什么特点,什么情况下可以用函数模板代替重载函数?
3.实验结果
程序改错:
#include
usingnamespacestd;
intmain()
{
inta,b,c;
intadd(intx,inty);
cin>>a>>b;
c=add(a,b);
cout<<"a+b="< return0; } intadd(intx,inty) { intz; z=x+y; return(z); } 运行结果: 用不带默认参数的函数实现: #include usingnamespacestd; intmax(inta,intb,intc) { if(b>a)a=b; if(c>a)a=c; returna; } intmax(inta,intb) { if(a>b)returna; elsereturnb; } intmain() { inta,b,c; cin>>a>>b>>c; cout< cout< return0; } 运行结果: 用带有默认参数的函数实现: #include usingnamespacestd; intmax(inta,intb,intc=0) { if(b>a)a=b; if(c>a)a=c; returna; } intmain(void) { inta,b,c; cin>>a>>b>>c; cout<<"max(a,b,c)="< cout<<"max(a,b)="< return0; } 运行结果: (3)用带有默认参数的函数实现: #include usingnamespacestd; voidres(int&x,int&y,int&z) { inttemp; if(x>y) { temp=y; y=x; x=temp; } if(x>z) { temp=z; z=x; x=temp; } if(y>z) { temp=y;y=z;z=temp; } } voidmain() { inta,b,c; cout<<"输入三个数字"< cin>>a>>b>>c; res(a,b,c);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验