派生类中的函数不可以与基类中的同名同参函数具有不同的类型?

来源:百度知道 编辑:UC知道 时间:2024/05/24 00:54:06
这句话什么意思
对虚函数的调用( D )。
A. 一定使用动态联编 B. 必须使用动态联编
C. 一定使用静态联编 D. 不一定使用动态联编
这题啥意思

“派生类中的函数不可以与基类中的同名同参函数具有不同的类型?” 这句话只有在基类中的该函数是virtual时成立。
class A {
public:
void f() {}
};

class B : public A {
public:
int f() { return 0; }
};
这样是可以的。但如果A中的f()是virtual的,那么这样就错了。两个f()的return type必须一样才行。

只有通过指针或引用来对虚函数进行调用才会使用到动态联编。直接通过对象来调用虚函数,则还是静态联编。