函数重载用c++解决

 

这样吗?

如果解决问题,麻烦点个采纳,谢谢!

#include <iostream>

using namespace std;

double min(double d1, double d2, double d3) {
	if (d1 < d2) {
		if (d1 < d3) {
			return d1;
		
		} else {
			return d3;
		}
	
	} else if (d2 < d3) {
		return d2;
	
	} else {
		return d3;
	}

}

char min(char c1, char c2, char c3) {
	if (c1 < c2) {
		if (c1 < c3) {
			return c1;

		} else {
			return c3;
		}

	} else if (c2 < c3) {
		return c2;

	} else {
		return c3;
	}
}

int min(int a1, int a2, int a3) {
	if (a1 < a2) {
		if (a1 < a3) {
			return a1;

		} else {
			return a3;
		}

	} else if (a2 < a3) {
		return a2;

	} else {
		return a3;
	}
}

int main() {
	double d1 = 1.14, d2 = 2.14, d3 = 3.14;
	char c1 = 'a', c2 = 'b', c3 = 'c';
	int a1 = 10, a2 = 11, a3 = 12;


	
	cout << "min(double, double, double) ==> " << min(d1, d2, d3) << endl;
	cout << "min(char, char, char) ==> " << min(c1, c2, c3) << endl;
	cout << "min(int, int, int) ==> " << min(a1, a2, a3) << endl;

	return 0;
}

 

 

double min(doule x,double y,double z)

int min(int x,int y,int z)

char min(char x,char y,char z)

double min(double x,double y,double z)
{
    if(x < y && x < z)
        return x;
    if( y < x && y < z)
        return y;
    return z;
}

 

函数模板实现方式: 

#include <iostream>

using namespace std;

// 模板声明
template <typename T>

// 函数实现
T Min(T d1, T d2, T d3) {
	if (d1 < d2) {
		if (d1 < d3) {
			return d1;

		} else {
			return d3;
		}

	} else if (d2 < d3) {
		return d2;

	} else {
		return d3;
	}
}



int main() {
	char c1 = 'a', c2 = 'b', c3 = 'c';
	int a1 = 10, a2 = 11, a3 = 12;
	double d1 = 1.14, d2 = 2.14, d3 = 3.14;

	
	cout << "min(double, double, double) ==> " << Min(d1, d2, d3) << endl;
	cout << "min(char, char, char) ==> " << Min(c1, c2, c3) << endl;
	cout << "min(int, int, int) ==> " << Min(a1, a2, a3) << endl;

	return 0;
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <iostream>
using namespace std;

double min(double a,double b,double c)
{
	return a<(b<c?b:c)?a:(b<c?b:c);
}
char min(char a,char b,char c)
{
	return a<(b<c?b:c)?a:(b<c?b:c);
}
int min(int a,int b,int c)
{
	return a<(b<c?b:c)?a:(b<c?b:c);
}

int main()
{
	char a = 'x',b = 'c',c='d';
	int aa = 23,bb = 32,cc = 21;
	double aaa = 234,bbb = 2223,ccc = 224;

	cout << "min(" << a << "," << b<< "," << c <<")=" << min(a,b)<<endl;
	cout << "min(" << aa << "," << bb<<","<< cc <<")=" << min(aa,bb)<<endl;
	cout << "min(" << aaa << "," << bbb<<","<< ccc <<")=" << min(aaa,bbb)<<endl;
	return 0;
}