fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class interface {
  5. public:
  6. virtual void fnA() const = 0;
  7. virtual void fnB() const = 0;
  8. };
  9.  
  10. class partialImplementationA : public virtual interface {
  11. public:
  12. void fnA() const {cout << "fnA from partial implementation A" << endl;}
  13. };
  14. class partialImplementationB : public virtual interface {
  15. public:
  16. void fnB() const {cout << "fnB from partial implementation B" << endl;}
  17. };
  18.  
  19. class myClass : public virtual interface,
  20. public partialImplementationA,
  21. public partialImplementationB {
  22. public:
  23. };
  24.  
  25. int main() {
  26. myClass m;
  27. m.fnA();
  28. m.fnB();
  29. return 0;
  30. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
fnA from partial implementation A
fnB from partial implementation B