欢迎来观看温柔了岁月.c的博客 目前 设有C++学习专栏 C语言项目专栏 数据结构与算法专栏 目前主要更新C++学习专栏,C语言项目专栏不定时更新 待C++专栏完毕,会陆续更新C++项目专栏和数据结构与算法专栏 一周主要三更,星期三,星期五,星期天 感谢大家的支持
C++函数新思想
函数重载
函数重载的定义
C++允许同名不同参的函数存在,C不允许
函数重载的规则
不同参数的三个体现1.参数数目不同2.参数的类型不同3.参数顺序不同(前提是存在不同类型)
参数的类型不同
//参数类型不同 int printDate(int a, int b) { return a > b ? a : b; } float printDate(float c, float d) { return c > d ? c : d; }
类型不同注意事项
C++对类型的要求比C语言要严格,
例如:float类型, 其实在编译器中默认的都是double类型
C++的要求比较严格
如果你在堆函数传参的话这样就会报错
那么如何解决这个问题呢?其实很简单,你只需要在数据后面加一个f,指定表示这是float类型的就行了
参数的数目不同
#include<iostream> using namespace std; int printDate(int a, int b) { return a > b ? a : b; } float printDate(float a, float b) { return a > b ? a : b; } int main() { system("pause"); return 0; }
参数的顺序不同(前提存在不同 类型)
//3.参数的顺序不同 #include<iostream> using namespace std; void printDate(int a, char b) { } void printDate(char a, int b) { } int main() { system("pause"); return 0; }
函数缺省
函数缺省的定义
函数缺省就是对函数的形参赋初值,当不传参的时候使用的是默认值
函数缺省的规则
1.从右往左缺省,中间不能有空着的
#include<iostream> #include<cstdio> using namespace std; void printDate(int a = 1, float c = 2.111f) { printf("%d %f", a,c); } int main() { printDate(2); //对第一个赋初值 system("pause"); return 0; }
结果如图所示
2.多文件中,.h缺省了,.cpp就不用缺省了(声明做了缺省,实现就不用缺省了)
缺省的好处
实现函数不同形态的调用,针对不同需求做不同的实现
C++标准的输入和输出
目前大家学会用即可,后面在lo流会详细讲这些
输出
1.cout + <<(由左运算符) + 输出的内容 (跟C语言中printf()函数作用类似)
2.换行:用endl 来替代\n
#include<iostream> using namespace std; int main() { cout << "hello world" << endl; // << 右运算符可以多次使用 cout << "hell0" << "world" << endl; system("pause"); return 0; }
输入
- cin >>(右运算符) + 变量(跟C语言中scanf()函数作用类似)
跟C语言中scanf()函数差不多,然后直接在键盘输入即可
#include<iostream> using namespace std; int main() { int a; cin >> a; //跟C语言中sancf()函数差不多 输入 cout << a << endl; //跟C语言中printf()函数差不多打印 system("pause"); return 0; }