重载,隐藏,覆盖区别

1. 重载(overload): 同名异参同域(如同类中),virtual可有可无.
2. 覆盖(override): 同名同参有virtual,不同类,派生覆盖基类.
3. 隐藏:
同名不同参异域(如基类和派生类),不管有无virtual(意图可能是为了把责任交给子类).
同名同参没有virtual.

4. 调用:
重载:看参数。
隐藏:用什么就调用什么。
覆盖:调用派生类


warn: 关键是,如果同名不同参异域, 并不是重载而是隐藏!警告.

 

posted on 2017-12-11 13:27  willaty  阅读(170)  评论(0编辑  收藏  举报

导航