读书人

问个常成员函数的重载有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

问个常成员函数的重载问题
书上说:const关键字可以用于对重载函数的区分。
如:
class A
{
public:
void print();
void print() const;
};
void A::print() const
{
Console::WriteLine(S "const print ");
}
void A::print()
{
Console::WriteLine(S "not const print ");
}
int _tmain()
{
A a;
a.print(); // 输出not const print
return 0;
}
那怎样可以通过对象a调用print() const函数?

[解决办法]
只有常量对象才能调用const成员函数
[解决办法]
static_cast <const A &> (a).print();

读书人网 >C++

热点推荐