
前言


将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this 指针,表明在该成员函数中不能对类的任何成员进行修改
图示:

PS:权限知识点在下方
用const修饰this指针的好处:
图示:

权限相关知识点: 【权限等级较高的是const和具有常属性的量,权限较低的是普通数据】
图示:

答案:不是的,要修改成员变量的函数不能加。
请思考下面的几个问题:
特性:
int main()
{
A aa(1); // 有名对象 -- 生命周期在当前函数局部域
A(2); // 匿名对象 -- 生命周期在当前行
Solution sl;
sl.Sum_Solution(10);
Solution().Sum_Solution(20);
//A& ra = A(1); // 匿名对象具有常性
const A& ra = A(1); // const引用延长匿名对象的生命周期,生命周期在当前函数局部域
A(10);
Solution().Sum_Solution(20);
string str("11111");
push_back(str);
push_back(string("222222"));
push_back("222222");
return 0;
}声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。
使用要点:静态成员变量一定要在类外进行初始化
请思考下面的几个问题:
步骤:
图示:

原理:
代码演示:
class A
{
public:
A() 构造函数
{ ++_scount; }
A(const A& t) 拷贝构造
{ ++_scount; }
~A() 析构函数
{ --_scount; }
static int GetACount()
{ return _scount; }
private:
static int _scount;
};
int A::_scount = 0; 静态成员变量类外定义
void TestA()
{
cout << A::GetACount() << endl; ::来访问静态成员变量
A a1, a2;
A a3(a1);
cout << A::GetACount() << endl;
}