- 函数的默认值:无默认值的在参数列表左侧,有默认值的在参数列表右侧|
但输入不匹配时,会强制转换为函数的参数类型,若不能转换则报错 #include<iostream>
using namespace std;
void f(int x, float y, double z = 4.5, char a = 'A', int b= 6) {
cout << x << endl;
cout << y << endl;
cout << z << endl;
cout << a << endl;
cout << b << endl;
return;
}
int main() {
f(1.2, 2.3, 5.5, 66);
cout << int('B') << endl;
return 0;
} - 函数重载:
? 函数名称相同 ? 函数类型不能作为区分(因为调用时根本不知道) ? 参数列表一定要不同(参数个数、类型,但有时候输入参数类型会产生二义性,像输入1既可以转换为参数列表float,也可以转化为double) //重载求三角形、矩形、圆的面积
#include<iostream>
#include<cmath>
using namespace std;
//内联函数 在函数定义前加inline
inline void area(int x, int y, int z) {
int s = (x + y + z) / 2;
cout << sqrt(s * (s - x) * (s - y) * (s - z))<<endl;
return;
}
void area(int x, int y) {
cout << x * y << endl;
return;
}
void area(int x) {
cout << 3.14159 * x * x<<endl;
return;
}
int main() {
area(3, 4, 5);
area(3, 4);
area(3);
return 0;
}
- 内联函数:是在定义函数前加inline
inline 函数类型 函数名(形参列表){ 语句列表} 作用是用拷贝替换调用,用存储空间换取执行时间 但应该注意仅限不包含循环、switch、嵌套if等的简单函数 且指定内联函数,系统不一定将其处理为内联函数
今天其实大多数时候去看计算机网络了,所以只学了一部分C++,不过还是没有找到合适的网站刷题,可能过几天还是刷力扣吧
?
|