c++ 重载函数的使用(求最大值)

文章目录

    • c++ 重载函数的使用(求最大值)
      • 1 重载函数
      • 2 构造函数
      • 3 求最大值
        • 3.1 使用重载函数Max
        • 3.2 使用函数模板

c++ 重载函数的使用(求最大值)

1 重载函数

构造函数可以有多个重载(overloading)

相同函数名称有一个以上的构造函数,叫重载

2 构造函数

c++里面如果想创建一个对象(一个东西),有一个函数会自动被调用,不需要自己去调用,这个函数就是构造函数

构造函数的语法

  1. 函数名称和类的名称相同

  2. 可以拥有参数,此处实部虚部

  3. 参数可以有默认值

  4. 没有返回类型

3 求最大值

eg:求取两个整数,三个整数的最大值

3.1 使用重载函数Max

#include
using namespace std;

int Max(int, int);
int Max(int, int, int);

int main()
{
	int x1, x2;
	cout << "请输入两个整数:";
	cin >> x1 >> x2;
	cout << " 这两个整数中的最大值:" << Max(x1, x2) << endl;

	int x3, x4, x5;
	cout << "请输入三个整数:";
	cin >> x3 >> x4 >> x5;
	cout << " 这三个整数中的最大值:" << Max(x3, x4, x5) << endl;

	return 0;
	
}

int Max(int a, int b)
{
	return a > b ? a : b;
}

int Max(int a, int b, int c)
{
	int Max = a > b ? a : b;
	return Max > c ? Max : c;
}

两个双精度,三个双精度数的最大值类似

3.2 使用函数模板

#include
using namespace std;

template //模板函数

T Max(T a, T b)
{
	return a > b ? a : b;
}

template
T Max(T a, T b, T c)
{
	T Max = a > b ? a : b;
	return Max > c ? Max : c;
}

int main()
{
	int x1, x2;
	cout << "请输入两个整数:";
	cin >> x1 >> x2;
	cout << " 这两个整数中的最大值:" << Max(x1, x2) << endl;

	int x3, x4, x5;
	cout << "请输入三个整数:";
	cin >> x3 >> x4 >> x5;
	cout << " 这三个整数中的最大值:" << Max(x3, x4, x5) << endl;

	return 0;

}

函数模板的写法如下:

template 
返回值类型 模板名(形参表)
{
  函数体
}

其中的 class 关键字也可以用 typename 关键字替换,例如:

template 

点击跳转—函数模板详解

你可能感兴趣的:(c++刷题笔记,c++)