fork(4) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A {
  5. public:
  6. void method() {
  7. cout << "hi";
  8. }
  9. };
  10.  
  11. class B {
  12. public:
  13. virtual void method() = 0;
  14. };
  15.  
  16. class D : public A, public B {
  17. public:
  18. //virtual void method();
  19. };
  20.  
  21. int main() {
  22. D d;
  23. d.method();
  24. return 0;
  25. }
Compilation error #stdin compilation error #stdout 0s 3296KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:22:4: error: cannot declare variable ‘d’ to be of abstract type ‘D’
  D d;
    ^
prog.cpp:16:7: note:   because the following virtual functions are pure within ‘D’:
 class D : public A, public B {
       ^
prog.cpp:13:16: note: 	virtual void B::method()
   virtual void method() = 0;
                ^
prog.cpp:23:4: error: request for member ‘method’ is ambiguous
  d.method();
    ^
prog.cpp:13:16: note: candidates are: virtual void B::method()
   virtual void method() = 0;
                ^
prog.cpp:6:8: note:                 void A::method()
   void method() {
        ^
stdout
Standard output is empty