C++高手请进。。。关于常成员函数的问题

2025-04-13 04:25:45
推荐回答(2个)
回答1:

当声明一个类的const对象时,这个对象只能访问该类的const成员函数,声明一个类的非const对象时,这个对象既可以访问类的const成员函数,也可以访问类的非const成员函数。以你上面的代码为例,两个函数的差别仅仅在于一个函数多一个const修饰符。这两个函数之间的关系显得有些微妙(因为它们既像函数重载又不是函数重载)。在这种情况下,当你声明一个非const对象并调用这个函数名时,这个对象会优先调用非const版本的该函数。如果没有这个非const的print函数,这个对象才会调用const版本的该函数。如果你在main函数里声明一个const对象,则这个对象只能调用const版的该函数。

回答2:

我认为是因为标示有“const”,说明这个是常量,当然就不可能进行方法的调用了!