C++笔记 函数重载(C++多态)

函数重载的概述

类似于多音字,在不同场景下有不同的读音。

函数重载:同一个函数名在不同场景下具有不同的含义,不同的功能

函数重载的基本语法

实现函数重载的条件(函数重载实现有哪几种类型):同一作用域 参数个数不同 参数类型不同 参数顺序不同

函数重载的实现原理:同一个函数名、不同的参数类型经过编译器编译后其实会变成不同的函数名,具有不同的地址。

注意:

1.函数的返回值类型不能作为函数重载的依据。

2.函数重载和默认参数一起使用,需要额外注意二义性的问题

void myfunc(int a)
{
    cout<<"一个int类型参数的myfunc"<<endl;
}

void myfunc(int a,int b=20)
{
    cout<<"2个int类型参数的myfunc"<<endl;
}

int main()
{
    myfunc(100);//会产生二义性问题,因为既能匹配一个Int的myfunc,也能匹配2个int的myfunc
}
void myfunc(int a)
{
    cout<<"一个int类型参数的myfunc"<<endl;
}

void myfunc(int a,int b)
{
    cout<<"2个int类型参数的myfunc"<<endl;
}

void myfunc(double a,int a)
{
    cout<<"一个double 一个int的myfunc"<<endl;
}

调用myfunc

myfunc(10)  //调用第一个myfunc函数
myfunc(10,20) //调用int int的myfunc函数
myfunc(10.2,20) //调用 double int的myfunc函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值