Pure virtual function can have body in base class too.

#include <iostream>

struct A
{
    virtual void foo() = 0;
};

void A::foo() {
    std::cout << "A::foo()" << std::endl;
}

struct B : A
{
    virtual void foo()
    {
        A::foo();
        std::cout << "B::foo()" << std::endl;
    }
};

int main()
{
    B b;
    b.foo();
    return 0;
}
Advertisements

One thought on “

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s