1、在基类和派生类中使用同一个名字的成员函数,其行为与数据成员一样:在派生类作用域中派生类成员将屏蔽基类成员。即使使用函数原型不同,基类成员也会被屏蔽。
2、局部作用域中声明的函数不会重载全局作用域中定义的函数,同样,派生类中定义的函数也不会重载基类中定义的成员。通过派生类对象调用函数时,实参必须与派生类中定义的版本相匹配,只有在派生类根本没有定义该函数时,才考虑基类函数。
3、派生类不用重定义所继承的每一个基类版本,它可以为重载成员提供using声明,一个using声明只能指定一个名字,不能指定形参表,因此为基类成员函数名称而作的using声明将该函数的所有重载实例加到派生类的作用域。将所有名字加入到作用域之后,派生类只需要重定义本类型确实必须定义的那些函数,对其他版本可以使用继承的定义。
4、将函数定义为纯虚函数能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类中的版本绝不会调用,用户将不能创建该类型的对象。
5、为了支持句柄类,需要从基类开始,在继承层次的每个类型中增加clone,基类必须将该函数定义为虚函数。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。
更得比较勤嘛,哈哈。
每次来看看,顺带自己复习下C++ Primer
嘿嘿,Adoo兄太赏脸了,欢迎常来指教指教~ 😆