“派生类中的函数不可以与基类中的同名同参函数具有不同的类型?” 这句话只有在基类中的该函数是virtual时成立。
class A {
public:
void f() {}
};
class B : public A {
public:
int f() { return 0; }
};
这样是可以的。但如果A中的f()是virtual的,那么这样就错了。两个f()的return type必须一样才行。
只有通过指针或引用来对虚函数进行调用才会使用到动态联编。直接通过对象来调用虚函数,则还是静态联编。
温馨提示:答案为网友推荐,仅供参考