[FZH] c++中的override和覆盖的区别

Robin Lee robinlee.sysu at gmail.com
Wed Jun 6 14:46:17 UTC 2012


在 C++ 里,函数名相同但输入参数不相同就是不同的函数

2012/6/6 Ying Chen <justin.nankai在gmail.com>

> 谢谢!原来override是翻译为覆盖,我把‘覆盖’和‘隐藏’混淆了。那如果父类函数声明了virtual,但子类函数的input
> argumetns不一样,这时候是override父类函数还是隐藏父类函数?
>
> 2012/6/6 Robin Lee <robinlee.sysu在gmail.com>
>
> > 只要子类实现了相同 signature 的函数,就是覆盖(override)了父类的函数。只是如果父类的对应的函数没有声明为 virtual
> > 就无法实现多态 (polymorphism)
> >
> > 2012/6/6 Ying Chen <justin.nankai在gmail.com>
> >
> > > 向大家请教个关于c++的问提:
> > >
> > > 1.  c++中的override是不是必须要用virtual 来实现?
> > > 2.  什么情况下子类的函数override父类的函数,什么情况下覆盖父类的函数?
> > >
> > > 在网上搜了一圈,说各种答案的都有,查了c++ primer也不知所以,希望哪位高手可以帮忙解答一下,万分感谢~~
> > > --
> > > Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
> > >
> > --
> > Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
> >
>
> --
> Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
>
>


More information about the Chinese mailing list