void out3() const 问题

int main() {

	using namespace std;

	class aa {
		int num;
	public:
		aa() {
			int b = 10;
			num = b;
		};
		void out1() {
			cout << num << endl;
		}
		void out2() const {
			cout << num << endl;
		}
		void out3() const {
			num += 10; //出错,const函数不能修改其数据成员
			cout << num << endl;
		}

	};
		aa a1;
		a1.out1();
		a1.out2();
		a1.out3();



	return 0;
}

以上代码假如不把out3()这个函数注释掉,会报错:由于正在通过常量对象访问“num”,因此无法对其进行修改,也就是说函数后面加const之后,函数部分就不能赋值了。

猜你喜欢

转载自blog.csdn.net/Gussss/article/details/89479694