C++学习第5课,重载,指针,引用,

这次先上代码


main.cpp

#include

using namespace std;

int add_one(int a)

{

a = a+1;

return a;

}

int add_one(int* a)

{

*a = *a+1;

return *a;

}

int add_one_yy(int  & b)

{

b = b+1;

return b;

}

int main(int argc, char **argv)

{

int a = 99;

int& b = a;

cout << add_one(a) << "|" ; //这里输出的a的值还是99

cout << "a = "<< a << endl;

cout << add_one(&a) << "|"; //这里用指针,可以改变a的值为100

cout << "a = "<< a << endl;

cout << add_one_yy(a) << "|"; //这里用引用,定义一个a的引用b,可以改变a的值

cout << "a = "<< a << endl;

b++;//这里用引用,加1

cout << "a = " << a << endl;

}


1  重载

这里定义了两个同方法名的方法,分别是int add_one(int a)和int add_one(int* a);

这里可以共存,在调用时,因为参数的类型不同,所以使用的时候回重载对应的函数。

2 指针

int add_one(int* a)这个方法使用了指针操作,指针即变量的地址(ram地址);

所以可以修改变量值,这里和c语音的使用时一样的;

3 引用

由于指针操作杀伤力太大,语音开发者想减少使用者使用指针,所以在c++扩展引用;

代码中int& b = a;和int add_one_yy(int  & b)都是引用的使用例子。

*int &b = a;意思为b是a的引用,可以理解为b是a的别名(视频老师原话)。

原理为b和a指向的是同一块内存地址。

结束

你可能感兴趣的:(C++学习第5课,重载,指针,引用,)