//const成员函数
class TestConstMemberFunc{
public:
int x,y;
int getX(){
return x;
}
int getXconst() const{//加上cosnt,表明该函数不改变类内的变量,因而可以被cosnt的TestConstMemberFunc调用
//x=1;Error//error: 'x' cannot be modified because it is being accessed through a const object
return x;
}
int cmp(TestConstMemberFunc tc2) const{//tc2不是const的,因为是经过复制的
tc2.x=1;
return x>tc2.x;
}
int cmpConstReference(TestConstMemberFunc& tc2) const{//tc2也是const的,因为此处为reference
tc2.x=1;
return x>tc2.x;
}
};
void test_constMemberFunc(){
const TestConstMemberFunc t,t2;
//t.getX();//error: cosnt TestConstMemberFunc不能调用非const的成员函数
t.getXconst();
t.cmp(t2);//ok
//t.cmpConstReference(t2);//Error: cannot convert parameter 1 from 'const TestConstMemberFunc' to 'TestConstMemberFunc &'
}
const 成员函数
最新推荐文章于 2025-04-21 19:38:26 发布
本文深入探讨了C++中const成员函数的定义、作用以及使用限制,详细解释了const如何确保类成员的不变性,并通过实例展示了如何正确地在类中声明和调用const成员函数。
114

被折叠的 条评论
为什么被折叠?



