}
运行结果:
引用时要注意的问题:
由于引用不是独立的变量,编译系统不给它单独分配存储单元,因此在建立引用时只有声明,没有定义,只是声明它和原有的某一变量的关系。
在声明一个变量的引用后,在本函数执行期间,该引用一直与其代表的变量相联系,不能再作为其他变量的别名。
(4)#include
#include
usingnamespacestd;
intmain()
{
inti;
stringstr[5];
voidsort(strings[]);
cout<<"请输入字符串:
"<for(i=0;i<=5;i++)
cin>>str[i];sort(str);cout<<"字符串为:
"<for(i=0;i<5;i++)
cout<return0;
}
voidsort(strings[])
{
inti,j;
stringtemp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(s[j]>s[j+1])
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
运行结果:
(5)用重载函数实现:
#include
usingnamespacestd;
#definen5
template
voidsort(Ta[])
{
for(inti=0;ifor(intj=i+1;jif(a[i]>a[j]){
Tt=a[i];
a[i]=a[j];
a[j]=t;
}
}
intmain()
{
inti,a1[5]={1,3,2,6,5};
floata2[5]={1.2,1.1,2.2,3.1,2.6};
doublea3[5]={1.8,1.7,1.9,2.1,2.0};
sort(a1);
sort(a2);
sort(a3);
for(i=0;i<5;i++)
cout<cout<system("PAUSE");
return0;
}
运行结果:
用函数模板实现:
#include
usingnamespacestd;
#definen5
template
voidsort(Ta[])
{
for(inti=0;ifor(intj=i+1;jif(a[i]>a[j]){
Tt=a[i];
a[i]=a[j];
a[j]=t;
}
}
intmain()
{
inti,a1[5]={1,3,2,6,5};
floata2[5]={1.2,1.1,2.2,3.1,2.6};
doublea3[5]={1.8,1.7,1.9,2.1,2.0};
sort(a1);
sort(a2);
sort(a3);
for(i=0;i<5;i++)
cout<cout<system("PAUSE");
return0;
}
运行结果:
函数重载需要满足以下条件,参数的类型不同或者参数的个数不同。
函数摸板的特点是:
只有参数的类型不同,返回值类型不同,功能则完全一样,最大的好处是避免函数体的重复定义。
函数模版:
相同的名称,参数的个数相同;重载函数:
不同的名称,参数的个数不同。
4.实验体会
C++语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。
既适用于设计和编写大的系统程序,又适用于编写小的控制程序,也适用科学计算。
它既有高级语言的特点,又具有汇编语言的特点。
运算符丰富,除了提供对数据的算术逻辑运算外,还提供了二进制的位运算。
并且也提供了灵活的数据结构。
用C++语言编写的程序表述灵活方便,功能强大。
用C++语言开发的程序,其结构性好,目标程序质量高,程序执行效率高。
程序的可移植性好。
用C++语言在某一种型号的计算机上开发的程序,基本上可以不作修改,而直接移植到其它型号和不同档次的计算机上运行。
程序的语法结构不够严密,程序设计的自由度大。
这对于比较精通C++语言的程序设计者来说,可以设计出高质量的非常通用的程序。
但对于初学者来说,要能比较熟练运用C++语言来编写程序,并不是一件容易的事情。
与其它高级语言相比而言,调试程序比较困难。
往往是编好程序输入计算机后,编译时容易通过,而在执行时还会出错。
但只要对C++语言的语法规则真正领会,编写程序及调试程序还是比较容易掌握的。
最后,感谢老师的教导!