
代码如下:如果有什么不清楚地,可另行探讨。
#include<iostreamh>
void PopSort(int array[],int n);//函数声明
void PopSort(float array[],int n);
void PopSort(double array[],int n);
template<class T>
void PopSort(T array[],int n,int flag);//模板函数定义
template<class T>
void print(T array[],int n);
void main()
{
//测试函数
//int array[10]={23,32,12,11,31,90,100,55,26,22};
float array1[10]={231f,3222f,112f,110f,315f,902f,8890f,5533f,265f,220f};
double array[10]={23,32001,12,11,322,90,100,55,26,22};
cout<<"函数重载实现排序\nfloat:"<<endl;
PopSort(array1,10);//自动调用PopSort(float array[],int n)
print(array,10);//自动调用PopSort(double array[],int n)
cout<<"double:"<<endl;
PopSort(array,10);
//模板函数调用
print(array,10);
cout<<"模板函数实现排序"<<endl;
PopSort(array,10,1);
print(array,10);
}
/
函数重载
/
void PopSort(int array[],int n)
{
int i,j;
int temp;//中间变量
for(i=0;i<n;i++)//for(i=1;i<n-1;i++)
{
for(j=0;j<n-i;j++)
{
if(array[j]>array[j+1])
{
//数据交换
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
void PopSort(float array[],int n)
{
int i,j;
float temp=0;//中间变量
for(i=0;i<n;i++)//for(i=1;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])
{
//数据交换
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
void PopSort(double array[],int n)
{
int i,j;
double temp=0;//中间变量
for(i=0;i<n;i++)//for(i=1;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])
{
//数据交换
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
/
模板应用
/
template<class T>
void PopSort(T array[],int n,int flag)
{
int i,j;
T temp;//中间变量
for(i=0;i<n;i++)//for(i=1;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])
{
//数据交换
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
template<class T>
void print(T array[],int n)
{
for(int i=0;i<n;i++)
{
cout<<array[i]<<"\t";
if((i+1)%5==0)
{
cout<<endl;
}
}
}
重载:
指在同一个类中:
public
void
eat();
public
void
eat(String
str);
就是说方法名相同,返回类型相同(必须),参数copy列表不相同的方法!zd
重写:
子类和父类的问题
父类有一个public
void
eat();
子类又写了一个public
void
eat();
就是说方法名相同,返回类型相同,参数列表相同!
如果在子类写了一个public
void
eat(String
str);
那么这个不叫重写!叫子类的重载!
多态就是包括重载,重写,还有很多一些别的!
而函数模板我没有听说过,是不是指参数列表!
首先建议你装正版软件,另外记着注册激活,再下个msdn编程就不会出现这么个情况了,有的免费软件真的不是很好用
Microsoft
Visual
Studio
2010旗舰版是个测试版本,但是免费的,需要的话去微软官网下载去25g左右
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)