zoukankan      html  css  js  c++  java
  • c++ , const对象中的变量不能被修改

    const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值

    #include <iostream>
    using namespace std;
    
    //-----------------------------------------------
    class Test {
    public:
        int x;
        Test();
        void change(int a);
    };
    
    Test::Test() {
        this->x = 23;
    }
    void Test::change(int a )
    {
        this->x=a;
    }
    //-----------------------------------------------
    
    void f1() {
        Test t1;
        t1.x = 111;
        cout<<"t1.x="<<t1.x<<endl;
        t1.change(1111);
        cout<<"t1.x="<<t1.x<<endl;
    
        const Test t2;
        cout<<"t2.x="<<t2.x<<endl;
        
        //const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值。
        //g++ : error: assignment of data-member ‘Test::y’ in read-only structure
        //t2.x = 10;//vs2010可以编译通过,但执行不会改变t2.x的值
        //cout<<"t2.x="<<t2.x<<endl;
        
      //t2.change(2222);//error C2662: “Test::change”: 不能将“this”指针从“const Test”转换为“Test &”
        
    }
    
    int main() {
        f1();
        while(1);
        return 0;
    }
  • 相关阅读:
    同步请求和异步请求的区别
    Ajax初步理解
    ajax的GET和POST请求
    What's this?(js)
    rxjs
    Angular7_获取异步方法里面的数据
    Angular7_人员登记系统
    Angular7
    特殊操作符
    Oracle 表操作
  • 原文地址:https://www.cnblogs.com/mylinux/p/4091824.html
Copyright © 2011-2022 走看看