为了后面说重载,这里就先说隐藏吧
隐藏:
函数和被隐藏函数在不同类,暂且为父类和子类吧,只要子类出现和父类同名的函数(只需要名字相同),则父类中该函数在子类中被隐藏,也即不可访问,除非是用于替换被声明为需要父类参数的地方(即子类此刻被隐式或显示转换为父类,可想想里氏代换这个东西)。
重载:
重载函数和被重载函数必须在同一个可访问区域,这里的可访问区域可以结合隐藏部分来理解,重载的方法需在同一个类中,程序执行时调用哪一个重载函数仅由函数的参数列表唯一确定,与返回值类型没有关系。
重写:
这个主要是指虚函数,在父类中定义函数时添加virtual关键字,则可以更加灵活调用重写函数和被重写函数。如果没有该关键字,则应该理解为隐藏吧。