class A{
public:
void change();
void change() const;
};
void A::change()const{cout<<"const\n";};
void A::change(){cout<<"normal\n";};
int main()
{
A s;
s.change();
getch();
return 0;
}
运行结果是:normal
大哥,在这种情况下,对象s似乎被只能用
void A::change(){cout<<"normal\n";}
这个函数了,怎么在不改变类定义的情况下,使得s能用到
void A::change()const{cout<<"normal\n";}
呢?
是不是const的那个被普通的那个遮蔽了,但按理也是const遮蔽别人的呀
想不明白,这应该涉及到编译器的实现问题了吧
public:
void change();
void change() const;
};
void A::change()const{cout<<"const\n";};
void A::change(){cout<<"normal\n";};
int main()
{
A s;
s.change();
getch();
return 0;
}
运行结果是:normal
大哥,在这种情况下,对象s似乎被只能用
void A::change(){cout<<"normal\n";}
这个函数了,怎么在不改变类定义的情况下,使得s能用到
void A::change()const{cout<<"normal\n";}
呢?
是不是const的那个被普通的那个遮蔽了,但按理也是const遮蔽别人的呀
想不明白,这应该涉及到编译器的实现问题了吧










