• C++ const方法及对象


    一、整体代码

           01.cpp

    #include <iostream>
    using namespace std;
    class Test
    {
    public:
        Test(int x) : x_(x), outputTimes_(0)
        {
        }
        int GetX() const//不能改变变量的值
        {
            cout<<"const GetX ..."<<endl;
            //x_ = 100;
            return x_;
        }
        int GetX()//支持重载
        {
            cout<<"GetX ..."<<endl;
            return x_;
        }
        void Output() const
        {
            cout<<"x="<<x_<<endl;
            outputTimes_++;
        }
        int GetOutputTimes() const
        {
            return outputTimes_;
        }
    private:
        int x_;
        mutable int outputTimes_;//const定义的方法能够改变
    };
    int main(void)
    {
        const Test t(10);//有点类似于const int a =10;不能改变a的值,这里同样不能改变对象变量的值。
                         //所以只能调用const的方法,避免危险
        t.GetX();//调用const的那个GetX
        Test t2(20);
        t2.GetX();//调用正常的GetX
        t.Output();
        t.Output();
        cout<<t.GetOutputTimes()<<endl;
        return 0;
    }


    二、运行结果

          


    三、解释

            const Test t(10) 只能调用const 的方法

            Test t(20) 既可以const方法,也能调用非const方法,如果两者都有,优先调用非const方法。

  • 相关阅读:
    Android由一个activity 间隔5秒自动跳转到另外一个activity
    ZXing二维码的生成和解析
    JAVA生成条形码
    JAVA生成带Logo的二维码
    JAVA操作MongoDB数据库
    MongoDB数据库的简介及安装
    Redis在windows下的安装使用
    class关键字
    遍历器接口
    Promise对象
  • 原文地址:https://www.cnblogs.com/riskyer/p/3402530.html
Copyright © 2020-2023  润新知