const member function problem?
const 成员函数问题:
如何在const成员函数中修改对象状态?
例如:
class String
{
private:
char *str;
unsigned size;
unsigned b_sizeIsvalid :1;
public:
/// constructor &destructor
.............
...............
unsigned Length(void)const;
};
unsigned String::Length(void)const
{
if(!b_sizeIsvalid)
{
size=strlen(str)+1; //error
b_sizeIsvalid=1; //error
}
return size;
}
//应该怎样修改Length函数是其在不改变const 属性的情况下,完成对成员变量的修改呢?
路过的不妨发表以下自己的意见.