- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验2C对C的扩充
电子信息学院
实验报告书
课 程 名: 面向对象程序设计
题 目:实验2 C++对C的扩充
实验类别: 设计研究型
班 级: BX1004
学 号: 101003040420
姓 名: 施程程
1、实验目的
(2)进一步熟悉在所用的系统上编辑、编译、连接和运行C++程序的方法。?
进一步熟悉C++程序的结构和编程方法
2、实验内容
输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
#include<iostream>
?using?namespace?std;
{
int a,b;
c=add(a,b)??
cout<<“a+b=”<<c<<endl;??
return 0;
int?add(int?x,int?y)?
z=x+y;
return(z);
}
编一个程序,用来求2个或3个正整数中的最大数。
用不带默认参数的函数实现。
用带有默认参数的函数实现。
对比两种方法,分析用带有默认参数的函数的优点和应用场合,总结如何选择默认b参数的值。请分析本题中默认参数的值应该在什么范围。
对3个变量由小到大顺序排序要求使用变量的引
使用指针方法
使用变量的的引用
请总结引用时要注意什么问题。
有5个字符串,要求对他们按由小到大的顺序,用string方法,?
用重载函数实现。
用函数模板实现。
比较这两种方法各有什么特点,什么情况下可以用函数模板代替重载函数??
(2)程序1:用不带默认参数的函数实现
#include iostream
using namespace std;
int main( )
{int max(int a,int b,int c);
int max(int a,int b);
int a,b,c;
cin a b c;
cout max(a,b,c)= max(a,b,c) endl;
cout max(a,b)= max(a,b) endl;
return 0;
}
int max(int a,int b,int c)
{if(ba) a=b;
if(ca) a=c;
return a;
}
int max(int a,int b)
{if(ab) return a;
else return b;
}
运行结果:
程序2:用带有默认参数的函数实现
#include iostream
using namespace std;
int max(int a,int b,int c=0)
{if (ba)a=b;
if (ca)a=c;
return a;}
int main(void)
{int a,b,c;
cin a b c;
cout max(a,b,c)= max(a,b,c) endl;
cout max(a,b)= max(a,b) endl;
return 0;
}
运行结果:
有时多次调用同一函数时用的是同样的实参直,C++提供的带有默认参数的的使用更加方便,给形参一个默认值,这样形参就不必一定要从实参取值了。在实行过程中要特别注意,指定默认值的参数必须放在形参列表中的最右端。
程序1:使用指针
#include stdio.h
main()
{void swap(int *,int *,int *);
int a,b,c;
int *p1,*p2,*p3;
p1=a;
p2=b;
p3=c;
printf(Enter 3 integers:);
scanf(%d%d%d,a,b,c);
swap(p1,p2,p3);
printf(small to big: %d, %d, %d/n,a,b,c);
}
void swap(int *p1,int *p2,int *p3)
{int temp,*tmp;
static int i=3;
if(i--)
{if(*p1*p2)
{temp=*p1;
*p1=*p2;
*p2=temp;
}
if (i==2) {tmp=p2;p2=p3;p3=tmp;}
if (i==1) {tmp=p1;p1=p3;p3=tmp;}
swap(p1,p2,p3);
}
您可能关注的文档
- C课本习题答案2010-12.doc
- MSC中继计算.docx
- Microsoft WIndows 7 密钥.doc
- MSC调测流程.doc
- SoftX3000上机指导书.doc
- 5.1.1c-PRA中继开通指导.doc
- 一建通信广电施工技术知识树.docx
- 《程控数字交换》叶敏版 知识点总结及对应页码.doc
- IP前置机培训(针对值班人员).doc
- 交换技术练习题.doc
- 2023年株洲市公务员考试行测真题及答案详解1套.docx
- 2023年百色市公务员考试行测真题完整答案详解.docx
- 2023年武汉市公务员考试行测真题及参考答案详解一套.docx
- 2023年营口市公务员考试行测真题附答案详解.docx
- 2023年连云港市公务员考试行测真题及完整答案详解1套.docx
- 2023年浙江省公务员考试行测真题附答案详解(模拟题).docx
- 2023年雅安市公务员考试行测真题及答案详解(各地真题).docx
- 2023年赤峰市公务员考试行测真题附答案详解(名师推荐).docx
- 2023年郴州市公务员考试行测真题有答案详解.docx
- 2023年河北省公务员考试行测真题及答案详解(全国通用).docx
文档评论(0)