重载
- 同一个作用域的同名函数:参数个数,参数顺序,参数类型不同,和函数的返回值没有关系,const也可以作为重载的条件。
重定义(隐藏)
- 有继承,子类重新定义父类的同名成员(非virtual)。
class Base
{
public:
void func1(int)
{
...
}
}
class Son:public Base
{
public:
void func(不同参数...)
{
...
}
}
重写(覆盖)
- 有继承,子类重写父类的virtual函数,函数的返回值、函数名、函数参数必须和基类中的虚函数一致。
class Base
{
public:
virtual void func1(int)
{
...
}
}
class Son:public Base
{
public:
virtual void func(int)
{
...
}
}