概述
在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 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成员变量的全部内容,希望文章能够帮你解决类的const成员变量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复