上次复习了C++的多态,其实说到多态,就离不开函数的重写。
当基类的函数前加关键字virtual时,派生类的同名函数即为函数重写,我将其理解为,有多态的地方就有函数重写。
函数重定义与函数重写类似,但基类的函数前没有关键字,此时派生类的同名函数会覆盖掉基类的函数,是为函数重定义。
函数重载与前两者不同,它是发生于同一作用域的,比如同一个类中。
函数重载时,同名函数的参数表或参数类型不同,编译器会根据参数决定调用哪一个函数。
仅返回值不同不构成函数重载。
上次复习了C++的多态,其实说到多态,就离不开函数的重写。
当基类的函数前加关键字virtual时,派生类的同名函数即为函数重写,我将其理解为,有多态的地方就有函数重写。
函数重定义与函数重写类似,但基类的函数前没有关键字,此时派生类的同名函数会覆盖掉基类的函数,是为函数重定义。
函数重载与前两者不同,它是发生于同一作用域的,比如同一个类中。
函数重载时,同名函数的参数表或参数类型不同,编译器会根据参数决定调用哪一个函数。
仅返回值不同不构成函数重载。