首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

承袭时候相同函数名 不能重载么

2013-09-15 
继承时候相同函数名 不能重载么struct base {void set(int, char){}}struct derive : base {void set(int

继承时候相同函数名 不能重载么

struct base {
void set(int, char){}
};
struct derive : base {
void set(int, int, long) {} //定义了这个,父类的set就没了? 不能像普通函数那样重载么
};
int main() {
derive d;
d.set(2,'a');
}

[解决办法]

derive d;
d.base::set(2,'a');

基类同名函数被“隐藏”了。
[解决办法]
只能曲线求国了

struct base {
    void set(int, char){}
};
struct derive : base {
    void set(int, int, long) {} //定义了这个,父类的set就没了? 不能像普通函数那样重载么
    void set(int, char){
      base::set(int,char);
    }
};
int main() {
    derive d;
    d.set(2,'a');
}

热点排行