C++:const成员

const修饰成员变量,要在初始化列表中进行初始化。

const修饰成员函数,要放在函数后,称为常函数。常函数不能修改普通成员变量。

const修饰的对象,称为常对象。常对象不能修改普通成员变量,只能读取。

常对象只能使用常函数。

cpp 复制代码
#include<iostream>
using namespace std;

class AA
{
public:
	const int a;
	int b;
public:
	AA() :a(100)
	{
		b = 200;
	}
public:
	void Show() const//AA const * const this
	{
		cout << a <<" "<< b << endl;
	}
	void SS()
	{
		cout << a << " " << b << endl;
	}
};



int main()
{
	AA aa;
	aa.b = 20;
	aa.Show();

	const AA bb;
	//bb.b = 20;不行
	bb.Show();
	//bb.SS();不行



	return 0;
}
相关推荐
程序员 沐阳1 小时前
JavaScript 内存与引用:深究深浅拷贝、垃圾回收与 WeakMap/WeakSet
开发语言·javascript·ecmascript
Mr_Xuhhh1 小时前
Java泛型进阶:从基础到高级特性完全指南
开发语言·windows·python
He1955012 小时前
wordpress搭建块
开发语言·wordpress·古腾堡·wordpress块
老天文学家了2 小时前
蓝桥杯备战Python
开发语言·python
赫瑞2 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
初夏睡觉3 小时前
c++1.3(变量与常量,简单数学运算详解),草稿公放
开发语言·c++
升职佳兴3 小时前
C盘爆满自救:3步无损迁移应用数据到E盘(含回滚)
c语言·开发语言
ID_180079054733 小时前
除了 Python,还有哪些语言可以解析 JSON 数据?
开发语言·python·json
阿拉斯攀登3 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
周末也要写八哥3 小时前
多进程和多线程的特点和区别
java·开发语言·jvm