C++之函数重载

函数重载概念:

是函数的一种特殊情况, C++ 允许在 同一作用域中 声明几个功能类似 的同名函数 ,这
些同名函数的 形参列表(参数个数 或 类型 或 类型顺序)不同 ,常用来处理实现功能类似数据类型
不同的问题。

cpp 复制代码
#include<iostream>
//同一作用域
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
	cout << "int Add(int left, int right)" << endl;
	return left + right;
}
double Add(double left, double right)
{
	cout << "double Add(double left, double right)" << endl;
	return left + right;
}
// 2、参数个数不同
void f()
{
	cout << "f()" << endl;
}
void f(int a)
{
	cout << "f(int a)" << endl;
}
// 3、参数类型顺序不同
void f(int a, char b)
{
	cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
	cout << "f(char b, int a)" << endl;
}
int main()
{
	Add(10, 20);
	Add(10.1, 20.2);

	f();
	f(10);

	f(10, 'a');
	f('a', 10);
	return 0;
}
cpp 复制代码
#include<iostream>
//不同作用域
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
	cout << "int Add(int left, int right)" << endl;
	return left + right;
}

namespace bit2
{
	double Add(double left, double right)
	{
		cout << "double Add(double left, double right)" << endl;
		return left + right;
	}
}
int main()
{
	//不构成重载函数
	Add(10, 20);
	Add(10.1, 20.2);

	Add(10, 20);
	bit2::Add(10.1, 20.2);
	return 0;
相关推荐
玖玥拾17 分钟前
LeetCode 392 判断子序列
笔记·算法·leetcode
SLD_Allen33 分钟前
Go语言runtime全景
开发语言·javascript·golang
Elastic 中国社区官方博客34 分钟前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
不灭的黄金瞳12344 分钟前
C语言手写顺序表
c语言·开发语言·数据结构
阿无,1 小时前
Java多线程面试题之AQS
java·开发语言
豆沙沙包?1 小时前
C++~~~set容器、map容器(p57-P69)
开发语言·c++
qeen871 小时前
【数据结构】哈希表的C++实现与封装
数据结构·c++·散列表·哈希表
重生之后端学习2 小时前
239. 滑动窗口最大值[困难]✅
java·数据结构·算法·leetcode·职场和发展
脉动数据行情12 小时前
Java SpringBoot 对接知名台股 TWSE|批量采集上市股票行情实践
java·开发语言·spring boot