ぁー、ね

$ cat dogs.cpp
#include <iostream>

using namespace std;

class normal_dog {
public:
    virtual void bark() { cout << "bow!" << endl; }
};

class active_dog {
public:
    virtual void bark_twice() { bark(); bark(); }
    virtual void bark() { cout << "bow-wow!" << endl; }
};

class meta_dog : public normal_dog, public active_dog {
};

int main() {
    meta_dog   *meta = new meta_dog();
    normal_dog *normal = meta;
    active_dog *active = meta;
    normal->bark();
    active->bark();
    ((normal_dog *)active)->bark();
    ((active_dog *)normal)->bark();
}
$ g++ dogs.cpp && ./a.out
bow!
bow-wow!
bow-wow!
bow-wow!
Segmentation fault