首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于常成员函数,该怎么处理

2012-10-11 
关于常成员函数“当一个函数被定义为const时,这个函数就不能对数据成员进行修改了。一个const成员函数也不能

关于常成员函数
“当一个函数被定义为const时,这个函数就不能对数据成员进行修改了。一个const成员函数也不能调用一个非const函数,否则就可能通过这个非const函数间接修改数据成员了。”
 对于“一个const成员函数也不能调用一个非const函数,否则就可能通过这个非const函数间接修改数据成员了。”这句话,可以举例说明下吗?


[解决办法]
class A
{
int data;
void func1() const

func2(); //错误
};

void func2()
{
data = 0;
}
}

很明显func1被声明为const的意思是指它不应该修改自己。但是如果让它调func2,func2里是改了自己的,这就违背了func1的const声明。所以被const修饰的方法不能调非const方法。

热点排行