一个类中有如下两个函数:
int *getNum() {static int *p1 = new int; *p1 = 100; return p1;}
int *getNum() const {static int *p2 = new int; *p2 = 200; return p2;}
为什么没有报函数同名错误,去掉 const 后会报 不能重载错误。而且执行getNum 函数也只会执行第一个getNum, ?
c++中函数重载有关的问题?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- whitelxl 2018-07-24 07:27关注
void print() const {} 和 void print() {} 是重载函数,假如对象为const,则调用void print () const成员函数,如果为非const,则调用void print() ;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报