#include <iostream>
using namespace std;

class interface {
public:  
    virtual void fnA() const = 0; 
    virtual void fnB() const = 0; 
};

class partialImplementationA : public virtual interface { 
public: 
    void fnA() const {cout << "fnA from partial implementation A" << endl;}
};
class partialImplementationB : public virtual interface { 
public: 
    void fnB() const {cout << "fnB from partial implementation B" << endl;}
};

class myClass : public virtual interface, 
                public partialImplementationA, 
                public partialImplementationB {
public:
};

int main() {
	myClass m;  
	m.fnA(); 
	m.fnB(); 
	return 0;
}