本文主要是介绍类内static、const函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、static
1、声明加static,定义可以不加
2、不属于具体的对象,没有this指针
3、某个特定对象调用static函数时,只能访问static成员变量(protected、private都可以)
4、如果同一类型的其他对象对于static方法可见,如当传递了对象的指针/引用作为static函数参数时,那么也可以访问其他对象的private、protected的非static数据成员。(static 函数没有this,但是参数有该入参的this)
5、调用方法同普通函数一致
二、const
1、const说明符是方法原型的一部分,必须放在方法的定义中。—— 声明、定义都要加
double getVal() const;double getVal() const {...
}
2、const 函数——将函数内用到的数据成员都标记为const
3、static函数不能为const函数 —— 静态方法没有类的实例,不可能改变内部的值
4、非const对象可以调用:const/非const 函数;const 对象只能调用const 函数
5、析构函数不能为const,const对象也会被销毁
三、mutable数据成员
变量设置为mutable,在const函数中也可以改变其值
这篇关于类内static、const函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!