首页 > 代码库 > c++ ,const对象中的变量不能被修改
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;}
c++ ,const对象中的变量不能被修改
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。