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; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。