对比于 C 语言的函数,C++增加了重载(overloaded)、内联(inline)、const 和 virtual 四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const 与 virtual 机制仅用于类的成员函数。 重载和内联肯定有其好处才会被 C++语言采纳,但是不可以当成免费的午餐而滥用。
本章将探究重载和内联的优点与局限性,说明什么情况下应该采用、不该采用以及要警 惕错用。
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 int main(int argc, char** argv) { 6 // 声明用于存放运动员号码的数组 7 int h[]={1001,1002,1003,1004}; 8 // 声明用于存放运动员成绩的数组 9 float x[]={12.3,13.1,11.9,12.1}; 10 //声明用于存放运动姓名的字符型指针数组 11 char *p[]={"Wang hua","Zhang jian","Li wei","Hua ming"}; 12 //i,j,it是用做循环控制变量和临时变量 13 int i,j,it; 14 //ft 用做暂存变量 15 float ft; 16 //pt为字符型指针变量用做暂存指针变量 17 char *pt; 18 19 //用选择法对数组x进行排序,并相应调整数组h和p中的数据 20 for (i=0;i<=3;i++) 21 for (j=i+1;j<=3;j++) 22 if (x[i]>=x[j]) { 23 ft=x[i],x[i]=x[j],x[j]=ft; 24 it=h[i],h[i]=h[j],h[j]=it; 25 pt=p[i],p[i]=p[j],p[j]=pt; 26 } 27 28 //以下打印排序结果 29 for (i=0;i<=3;i++) 30 cout<<h[i]<<" ,"<<p[i]<<" ,"<<x[i]<<endl; 31 return 0; 32 }