美文网首页
C++学习第5课,重载,指针,引用,

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

作者: Mr小熊_1da7 | 来源:发表于2019-06-09 23:43 被阅读0次

    这次先上代码


    main.cpp

    #include <iostream>

    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课,重载,指针,引用,

          本文链接:https://www.haomeiwen.com/subject/wexexctx.html