在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。
(1)有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),只能读取数据成员,不能改变数据成员;没有 const 修饰的成员函数,对数据成员则是可读可写的。
(2)除此之外,在类的成员函数后面加 const 还有什么好处呢?那就是常量(即 const)对象可以调用 const 成员函数,而不能调用非const修饰的函数
class A
{
public:
void f()
{
cout<<"non const"<<endl;
}
void f() const
{
cout<<" const"<<endl;
}
};
int main(int argc, char **argv)
{
A a;
a.f();
const A &b=a;
b.f();
const A *c=&a;
c->f();
A *const d=&a;
d->f();
A *const e=d;
e->f();
const A *f=c;
f->f();
return 0;
}
上述运行结果为:non const/ const / const / non const / non const /const
最后
以上就是冷傲皮卡丘最近收集整理的关于类的const成员变量的全部内容,更多相关类内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复