1.C++可以使用同名函数[重载函数]实现功能类似的多个不同函数,C语言不支持函数重载;

2.函数名重载即函数名相同,但是, 函数的参数(形参)绝不相同:

1)参数个数不同;

2)或参数的类型不同。

3.只有返回类型不同,不能构成函数重载;只有形参变量名不同, 也不能构成函数重载.

#include <iostream>
#include <windows.h>
#include <string>
using namespace std;

int add(int a, int b) {
    cout << "调用add版本1" << endl;
    return a + b;
}

int add(int a, int b, int c) {
    cout << "调用add版本2" << endl;
    return a + b + c;
}

float add(float a, float b, float c) {
    cout << "调用add版本3" << endl;
    return a + b + c;
}

int main() {
    cout << add(3, 6) << endl;
    cout << endl;
    cout << add(3, 6, 9) << endl;
    cout << endl;
    cout << add(3.2f, 6.4f, 9.12f) << endl;  //系统会默认3.2是double类型的,所以要在后面加f,使其变成float类型

    system("pause");
    return 0;
}

 

总结:函数名可以相同,但是在函数定义时,形参的个数或者形参的类型要有所不同,否则将会编译失败!

posted on 2022-08-23 23:03  wshidaboss  阅读(46)  评论(0编辑  收藏  举报