C++函数重载!1:调用MIN函数2定义char,int,float,long数组,3,用MIN函数输出数组中最小值!!

你的答案有错误噢。。。。

在上面那位的基础改了一下,数组不能动态分配,可以直接用宏定义其实,在WinXP SP3 + VS 2005 express下通过

#include <iostream>
using namespace std;

#define N 10

template <class T>

T min(T *num,int n)
{
T k = *num;
for (int i = 1;i < n;i ++) {
num ++;
if (*num < k)
k = *num;
};
return k;
}

int main()
{
int n = N + 1;
while ( n > N) {
cout << "Enter the length of your array (don't larger than 10):";
cin >> n;
}
char a1[N];
int a2[N];
float a3[N];
long a4[N];
for (int i = 0;i < n;i ++) {
cout << "a1[" << i + 1 << "] = ";
cin >> a1[i];
cout << "a2[" << i + 1 << "] = ";
cin >> a2[i];
cout << "a3[" << i + 1 << "] = ";
cin >> a3[i];
cout << "a4[" << i + 1 << "] = ";
cin >> a4[i];
}
cout << "Min in a1 is " << min(a1,n) << endl;
cout << "Min in a2 is " << min(a2,n) << endl;
cout << "Min in a3 is " << min(a3,n) << endl;
cout << "Min in a4 is " << min(a4,n) << endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-15
#include <iostream>

using namespace std;

template <class T>

T min(T *num,int n)
{
T k = *num;
for (int i = 1;i < n;i ++)
{
num ++;
if (*num < k)
k = *num;
};
return k;
}

int main()
{
int n;
cin >> n;
char a1[n];
int a2[n];
float a3[n];
long a4[n];
for (int i = 0;i < n;i ++)
cin >> a1[i] >> a2[i] >> a3[i] >> a4[i];
cout << min(a1,n) << endl << min (a2,n) << endl << min(a3,n) << endl << min(a4,n) << endl;
return 0;
}
第2个回答  2010-09-15
恩 就正常重载就行啊

C++函数重载!1:调用MIN函数2定义char,int,float,long数组,3,用MIN函数...
char a1[N];int a2[N];float a3[N];long a4[N];for (int i = 0;i < n;i ++) { cout << "a1[" << i + 1 << "] = ";cin >> a1[i];cout << "a2[" << i + 1 << "] = ";cin >> a2[i];cout << "a3[" << i + 1 << "] = ";cin >> a3[i];...

编写重载函数min,分别计算int、double、flaot、long类型 数组 中的最...
T min(T* list, unsigned int len){ return *(std::min_element(list,list+len)); }

C++中函数重载是什么,能举个例子说明是如何重载的吗
函数重载:C++允许定义多个同名函数,但是参数不能相同,必须满足以下条件之一 1,参数类型不同 2,参数数量不同 比如:int fun(int,int);int fun(long,int); \/\/类型不同int fun(int); \/\/数量不同这样三个函数实现了重载,编译器会认为是三个不同的函数 PS:返回值类型不同,参数相同...

C++重载函数习题
第1个重载函数, 返回类型: int,输入类型: int;第2个重载函数, 返回类型: int,输入类型: float;第3个重载函数, 返回类型: int,输入类型: char;第4个重载函数, 返回类型: int,输入类型: short;第5个重载函数, 返回类型: char,输入类型: int;第6个重载函数, 返回类型: char,输入类型...

c++关于运算符重载的问题
](int i);\/\/请说明此行的&是什么作用 函数的声明,防止在没有定义函数实体之前,被早先调用致使编译错误 2 char &charArray::operator[](int i)\/\/&是什么用,去掉会出错 返回的是一个char 型的变量,去掉的话返回的是char型的值。前者可以作为变量对它进行赋值。后者只是一个char型的值而已 ...

求一个c++编程编写重载函数min可分别求取2个整数、3个整数、2个双精度...
int Min(int x,int y){ return (x<y)?x:y;} int Min(int x,int y,int z){ int t=(x<y)?x:y;return (t<z)?t:z;} double Min(double x,double y){ return (x<y)?x:y;} double Min(double x,double y,double z){ double t=(x<y)?x:y;return (t<z)?t:z;} ...

请教关于C++中重载的问题1
String::String(char *str){ p=str;} void String::display(){ cout<<p<<endl;} bool operator<(String &str1,String &str2){ if(strcmp(str1.p,str2.p)<0)return true;else return false;} int main(){ String string1("fuck"),string2("you!");string1.display();string2....

C++返回引用及函数重载:
函数后面带const说明该方法不会修改对象内部数据,这种写法只有类的方法才行,全局函数不存在这种写法,也不会有这种问题.class A { int& fun (); \/\/1 int fun() const; \/\/2 } A val;val.fun(); \/\/ 调用1 (const A&)val.fun(); \/\/强制调用2 const A valConst;valConst.fun(); \/\/ ...

c++课程设计:通过运算符的重载,实现字符串的各种操作。
1.使用动态分配存储空间的方法存放字符串,避免使用预先定义的长度很大的数组;2.定义字符串类String,定义相关成员函数(可以是运算符重载函数)实现字符串的连接(+)、拷贝(=和拷贝构造函数)、去掉串首、串尾与子串相同的字符(-),子串在主串中的定位 ,用新子串更换主串中的指定子串、求字符串的长度...

C++中, 两个函数调用可以用同一个函数定义吗?
可以重载函数,就是2该个函数具有相同的名字而形参表不同,比如,void print(int);void print(int,int);就是重载。函数重载和重复声明的区别,如果2个函数声明的返回类型和形参表完全相同,则第二个函数认为是第一个函数的重复声明。如果返回类型不同,形参表相同,认为第二个声明是错的。比如 ...

相似回答
大家正在搜