目录
引用&
1.引用是c++相对于C语言的新增内容。
2.实质上是为一个变量起别名。
注意点:
1.引用变量定义时必须进行初始化。
2.引用变量初始化之后不能再指向别的变量。
3.指针的内容或值是某一变量的内存单元地址,而引用则与初始化它的变量具有相同的内存单元地址。
int a=1,b=2;
int &c=a;//c成为变量a的别名
cout<<a<<' '<<b<<' '<<c<<endl;//输出1 2 1
c=b;
b=5;
cout<<a<<' '<<b<<' '<<c<<endl;//输出2 5 2
内联函数inline
1.作用:相当于宏定义。
2.inline必须与函数定义体放在一起才有效。习惯上不将inline放在函数声明语句。
3.定义为内联函数的要求:
①函数内无循环语句
②函数不能 过于复杂。
③程序中有取该函数地址的语句。
inline void swap(int &a,int &b){ //inline与函数定义放在一起
int temp=a;
a=b;
b=temp;
}
默认函数参数
1.c++新增内容,可以为函数参数指定默认值
2.默认参数必须在函数第一次声明中进行声明。
#include <iostream>
using namespace std;
void function1(int x=0,int y=0){ cout<<x<<' '<<y<<endl; }
void function2(int x,int y=5){ cout<<x<<' '<<y<<endl; }
//void function3(int x=0,int y){ cout<<x<<' '<<y<<endl; } //将报错,不能只默认第一个参数
int main(){
function1(); //输出0 0
function1(1); //输出1 0
function1(1,2); //输出1 2
function2(6); //输出6 5
function2(6,7); //输出6 7
return 0;
}
函数重载
1.实现c++多态性
2.c++
2.重载函数的参数类型和(或)数量必须不同;正常执行相似的操作;返回值可以不同。
#include <iostream>
using namespace std;
int add(int x,int y){
return x+y;
}
double add(double x,double y){
return x+y;
}
int main(){
cout<<add(1,2)<<endl; //输出3
cout<<add(3.3,4.4); //输出4
return 0;
}