14.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? overload一般翻译为重载,表示多个函数共用同一个函数名,为了保证调用这些同名函数时能正确区分究竟应该调用的是其中的哪一个,重载的各个函数的参数表(不考虑形参名)必须彼此不同,通常简略地说成“不同参数表”。它对返回值的类型没有任何要求,所以你可以随意为每一个重载的函数设置返回类型,相同也行,不同也行。
override一般翻译为覆盖,表示子类对从父类继承来的虚函数重新定义,它要求参数表必须跟父类中被覆盖的那个函数的参数表完全相同,返回值类型原则上也要求相同,但如果返回类型是父类的指针或者父类的引用,覆盖时返回类型允许是子类的指针或者子类的引用。
本文详细解释了Overload(重载)与Override(覆盖)之间的区别。Overload是指多个函数使用相同的名称但通过不同的参数表来区分;而Override是指子类重新定义父类的虚函数,要求参数表完全相同,返回类型原则上也要一致。
460

被折叠的 条评论
为什么被折叠?



