zoukankan      html  css  js  c++  java
  • 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方法。

  • 相关阅读:
    TCP/IP 网路基础
    三、Django之请求与响应-Part 1
    二、Django快速安装
    Linux 优化详解
    缓存的正确使用方式
    HTML从入门到放弃
    Ansible开发之路
    程序猿数据库学习指南
    MySQL错误代码大全
    Python之网络编程
  • 原文地址:https://www.cnblogs.com/riskyer/p/3402530.html
Copyright © 2011-2022 走看看