一個類中有如下兩個函數: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, ?
1 回答

心有法竹
TA貢獻1866條經驗 獲得超5個贊
void print() const {} 和 void print() {} 是重載函數,假如對象為const,則調用void print () const成員函數,如果為非const,則調用void print() ;
- 1 回答
- 0 關注
- 742 瀏覽
添加回答
舉報
0/150
提交
取消