【菜鸟C++学习笔记】25.函数重载
来源:互联网 发布:光钎网络监控安装教程 编辑:程序博客网 时间:2024/04/30 04:00
函数重载的本质:用相同名字的函数处理不同的事儿
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;}
输出结果:
分析:声明里默认的初始化参数构成一种重载方式,当调用无参数函数时,即调用默认的参数值。
- 【菜鸟C++学习笔记】25.函数重载
- 【C++】【学习笔记】【006】函数的重载
- C++primer学习笔记-----6.4函数重载
- (C/C++学习笔记)函数模板遇上函数重载
- 【C++】学习笔记四十二——函数重载
- C++学习笔记->函数重载
- C++学习笔记 函数重载
- C++学习笔记--函数重载
- 学习笔记:C++ 函数重载
- 【菜鸟C++学习笔记】26.运算符重载
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(7)——重载函数模板
- 【从C到C++学习笔记】内联成员函数/成员函数重载及缺省参数
- 【菜鸟C++学习笔记】3.函数
- 【菜鸟C++学习笔记】26.构造函数
- C++学习笔记_6:函数的重载
- C++函数的重载的学习笔记
- C++函数模板重载学习笔记
- 如何成为一名架构师
- 桃色少女的伤感原创空间日志:你的QQ,为谁而闪亮
- 套接字 SO_REUSEADDR
- 装ubuntu中间失败,再次安装说已经安装
- UVa 12291 Polyomino Composer
- 【菜鸟C++学习笔记】25.函数重载
- php实现伪静态的方法
- cocos2d-x 删除CCSprite时崩溃 glDeleteTextures(1, &m_uName); // CRASH !!!
- 谈一下我学习栈的时候一点点心得
- memcpy,strcpy,memset,memmove的函数实现
- 根据地址的经纬度查询周围的城市
- Android mk文件介绍
- 基于tabbarController中的每个tabbar都是UINavigation的涉及到的登陆、注销情况
- QQ空间伤感日志_其实放手不是不爱你