• 常量对象函数引用和参数传递


    定义对象时在前面加上const关键字,则对象的值不会改变。

    类的成员函数说明后加const关键字,则该成员函数为常量成员函数。常量成员函数不应该修改其所作用的对象。因此,在常量成员函数中不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(静态成员函数除外)。

    常量成员函数的重载

    两个成员函数,名字和参数表都一样,但是一个是const,一个不是,算重载。

    常引用:不同通过常引用修改其所指对象的值。

    对象作为函数的参数时,生成该参数需要调用复制构造函数,效率比较低。可以用对象的引用作为参数。

    参数传递:形参的初始化和变量的初始化一样:如果形参具有非引用类型,则复制实参的值;如果为引用类型,则它只是实参的别名。

    相应代码如下:

    #include <iostream>
    
    using namespace std;
    
    class Ctest
    {
    private :
        int n;
    public :
        int m;
        Ctest(int a):m(a),n(1){}
        void Getvalue() const
        {
            cout << n << endl;
        }
        void Getvalue() 
        {
            cout << 2 * n << endl;
        }
    };
    
    int main()
    {
        const Ctest c1(2);
        Ctest c2(5);
        c1.Getvalue();
        c2.Getvalue();
        return 0;
    }

     参考链接:

    https://www.coursera.org/learn/cpp-chengxu-sheji

  • 相关阅读:
    【HashMap】浅析HashMap的构造方法及put方法(JDK1.7)
    Windows: net和shutdown命令重启远程电脑
    Gnome: 点击dock图标最小化窗口
    Ubuntu: 实用软件
    芯片设计中的ECO是什么
    SPI总线
    No qualifying bean of type ’xxx‘ available
    【项目】项目197
    【项目】项目195
    【项目】项目196
  • 原文地址:https://www.cnblogs.com/helloforworld/p/5652866.html
Copyright © 2020-2023  润新知