C++学习笔记十二之函数重载
2017-07-25 10:33
295 查看
函数重载使用不同的参数列表来完成相同的工作(说白了就是重复使用同一个函数名)。
函数重载:可以有多个同名函数,对函数名进行了重载,使用不同的参数列表。
函数特征标:函数的参数列表
函数重载的关键是要参数列表必须不一样,函数类型可以相同也可以不同。
举个例子:
int love(int a, int b);
int love(int c, int d);
这两个函数的特征标(参数列表)是相同的,因为函数的参数数目和类型相同,并且排列顺序也相同,所以这就不是函数重载。
再举个例子:
int love(int a);
int love(int a, int b);
int love(char c);
double love(int d);
这个例子中所有的函数要么是参数数目不同,要不就是参数类型不同,这才是函数重载。
这里有书上的一段代码,给一个字符串和数字,依次输出前几个字符和数字。
【源码示例】
函数重载:可以有多个同名函数,对函数名进行了重载,使用不同的参数列表。
函数特征标:函数的参数列表
函数重载的关键是要参数列表必须不一样,函数类型可以相同也可以不同。
举个例子:
int love(int a, int b);
int love(int c, int d);
这两个函数的特征标(参数列表)是相同的,因为函数的参数数目和类型相同,并且排列顺序也相同,所以这就不是函数重载。
再举个例子:
int love(int a);
int love(int a, int b);
int love(char c);
double love(int d);
这个例子中所有的函数要么是参数数目不同,要不就是参数类型不同,这才是函数重载。
这里有书上的一段代码,给一个字符串和数字,依次输出前几个字符和数字。
【源码示例】
#include <iostream> #include <stdlib.h> unsigned long left(unsigned long num,unsigned ct); char * left(const char *str,int n=1); int main() { using namespace std; char *trip = "Hawaii!!"; unsigned long n = 12345678; int i; char *temp; for (i=1;i<10;i++) { cout << left(n,i)<<endl; temp = left(trip,i); cout << temp << endl; delete[] temp; } system("pause"); return 0; } unsigned long left(unsigned long num, unsigned ct) { unsigned digits = 1; unsigned long n = num; if (ct == 0 || num == 0) return 0; //判断数字的位数 while (n/=10) { digits++; } if (digits>ct) { ct = digits-ct; while (ct--) { num /= 10; } //返回前几位数字 return num; } else { return num; } } char * left(const char *str, int n ) { if (n < 0) n = 0; char *p = new char[n+1]; int i; for (i=0;i<n&&str[i];i++) { p[i] = str[i]; } while (i<=n) { p[i++] = '\0'; } return p; }【演示结果】
相关文章推荐
- C++学习笔记(八):函数重载、函数指针和函数对象
- C++学习笔记23,类内函数重载
- 【C++学习笔记】函数的重载
- C++ 学习笔记(14)重载运算与类型转换、函数对象、function库
- c++学习笔记之函数重载与const的关系
- C++学习笔记:重载 函数调用符()
- C++学习笔记-----函数调用时的决议:名字查找,重载决议,可访问性检测
- 我的小小学习笔记(6)之C++-----函数的重载
- C++学习笔记-----在重载的赋值运算函数中调用拷贝构造函数
- C++学习笔记之 函数重载和函数指针在一起
- 【菜鸟C++学习笔记】25.函数重载
- C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)
- 【C++学习笔记】函数返回和函数重载
- C++学习笔记-----继承体系中函数的重载,覆盖和隐藏的区别
- C++学习笔记 函数重载
- C++学习笔记之函数重载简介
- C++学习笔记(四)函数重载
- 【C++】【学习笔记】【006】函数的重载
- C++学习笔记17——函数重载
- [C++学习笔记]--内联函数、函数重载、函数defualt参数