【菜鸟C++学习笔记】25.函数重载

本文详细介绍了函数重载的概念及其应用,包括通过不同参数类型实现重载的方法,以及如何使用默认参数来简化函数调用。通过实例分析,展示了在实际编程中灵活运用函数重载和默认参数的重要性。

函数重载的本质:用相同名字的函数处理不同的事儿

1、重载方法:

函数名字相同,参数类型不同或参数个数不同等都可以实现重载。例如:

#include <iostream>
using namespace std;
void fun(int a){cout<<"a的平方:"<<a*a<<endl;}
void fun(float b){cout<<"b的倍数:"<<b*b<<endl;}
void fun(double c){cout<<"c的倍数:"<<c*c<<endl;}
int main()
{
	int a=1;
	float b=1.5;
	double c=1.2345;
	fun(a);
	fun(b);
	fun(c);
	return 0;
}
输出结果:


分析:可见,同样是函数fun(),里面参数类型不一样,可实现不同的功能。

讨论:对于成员函数和构造函数来说,也可以实现重载,方法与普通函数是一样的,这里就不再举例了。


2、函数默认参数

如果改做声明的方式,并进行初始化,那么初始化的参数就是默认参数,其格式如下:

void fun(int=0,int=0)

上面的式子就表示把两个整型变量初始化为0,这里以成员函数的重载为例:

#include <iostream>
using namespace std;
class A
{
public:
	void set(int=10,int=20);
	void count(bool=false);
private:
	int w;
	int h;
};
void A::set(int width,int height)
{
	w=width;
	h=height;
}
void A::count(bool a)
{
	if (a==true)
	{
		cout<<"a的值为真时,构成矩形面积为:"<<w*h<<endl;
	}
	else
	{
		cout<<"a的值为假时,构成三角形面积为:"<<w*h/2<<endl;
	}
}
int main()
{
	A one;
	one.set();
	one.count();
	one.count(1);
	return 0;
}

输出结果:



分析:声明里默认的初始化参数构成一种重载方式,当调用无参数函数时,即调用默认的参数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值