虚函数问题

Geo*_*ge2 4 c++ virtual-functions visual-studio-2008

我在VSTS 2008中使用原生C++.关于虚函数的快速问题.在下面的示例中,如果我在类Derived中将Foo声明为"virtual void Foo()"或"void Foo()",则会有任何差异吗?对将来自类Derived的任何未来类的影响?

class Base
{
public:

    Base()
    {
    }

    virtual void Foo()
    {
        cout << "In base" << endl;
    }
};

class Derived : public Base
{
public:

    Derived()
    {

    }

    void Foo()
    {
        cout << "In derived " << endl;
    }
};
Run Code Online (Sandbox Code Playgroud)

Jay*_*Zhu 9

没有不同.但为了便于阅读,我始终保持virtual随时随地.

  • 没错,但没有差别,但对于没有编写代码的人来说,了解正在发生的事情要容易得多. (2认同)