C++函数的覆盖及隐藏.docVIP

  • 3
  • 0
  • 约3.12千字
  • 约 6页
  • 2017-06-03 发布于湖北
  • 举报
成员函数的重载、覆盖与隐藏 说明:来自“高质量C编程指南.pdf”(P60-P63) 成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 示例 8-2-1 中,函数Base::f(int)与Base::f(float)相互重载,而Base::g(void) 被Derived::g(void)覆盖。 #include iostream.h class Base { public: void f(int x){ cout Base::f(int) x endl; } void f(float x){ cout Base::f(float) x endl; } virtual void g(void){ cout Base::g(void) endl;} }; class Derived : public Base { public: virtual void g(void){ cout

文档评论(0)

1亿VIP精品文档

相关文档