如果这两个方法都被声明为虚拟的,那么被调用的 Method1() 的两个实例不应该是派生类的 Method1() 吗?
我每次都看到 BASE 然后 DERIVED 调用。我正在为面试做一些复习,我想确保我明白这一点。xD
class BaseClass
{
public:
virtual void Method1() { cout << "Method 1 BASE" << endl; }
};
class DerClass: public BaseClass
{
public:
virtual void Method1() { cout << "Method 1 DERVIED" << endl; }
};
DerClass myClass;
((BaseClass)myClass).Method1();
myClass.Method1();
方法 1 基础
方法 1 衍生