• 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;
    }
  • 相关阅读:
    分享50个漂亮的设计师个人作品集网站案例
    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
    ajax异步请求
    angularJS(6)
    angularJS(5)
    PHP实现RTX发送消息提醒
    ajax异步请求
    angularJS(4)
    angularJS(3)
    jsPanel插件Option总结
  • 原文地址:https://www.cnblogs.com/mylinux/p/4091824.html
Copyright © 2020-2023  润新知