【菜鸟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;
}

输出结果:



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值