若在逻辑上 B 是 A 的“一种”(a kind of ),则允许 B 继承 A 的功 能和属性。
例如男人(Man)是人(Human)的一种,男孩(Boy)是男人的一种。
那么类 Man 可以从类 Human 派生,类 Boy 可以从类 Man 派生。
1 #include <iostream> 2 #include<string.h> 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 //显示数组的函数模板 6 template <class T> void arr_put(T arr[],int size) { 7 for (int i=0 ;i<=size;i++) 8 cout<<arr[i]<<" "; 9 cout<<endl; 10 } 11 12 //选择排序数组的函数模板 13 template <class T> void sort(T arr[],int size) { 14 T temp; 15 int i,j; 16 for (i=0;i<size;i++) 17 for (j=i+1;j<=size;j++) 18 if (arr[i]<=arr[j]) 19 { 20 temp=arr[i]; 21 arr[i]=arr[j]; 22 arr[j]=temp; 23 } 24 } 25 26 27 int main(int argc, char** argv) { 28 //用排序函数模板处理int型数组 29 cout<<"int:"<<endl; 30 int a[]={1,5,2,7,9,0,10,-1}; 31 arr_put(a,7); 32 sort(a,7); 33 arr_put(a,7); 34 35 //用排序函数模板处理double型数组 36 cout<<"double:"<<endl; 37 double x[]={1.2,2.1,1.414,1.732}; 38 arr_put(x,3); 39 sort(x,3); 40 arr_put(x,3); 41 42 //用排序函数模板处理char类型数组 43 cout<<"char:"<<endl; 44 char str[80]; 45 cout<<"str:"; 46 cin>>str; 47 int size=strlen(str); 48 arr_put(str,size); 49 sort(str,size); 50 arr_put(str,size); 51 return 0; 52 }