[ create a new paste ] login | about

Link: http://codepad.org/rp8tiSBg    [ raw code | output | fork ]

C++, pasted on Jun 7:
#include <iostream>

class Interface1 {
public:
  Interface1() {};
  virtual ~Interface1() {};
  virtual void Method1() = 0;
};

class Class1 : public Interface1 {
public:
  Class1() {};
  virtual ~Class1() {
    std::cout << "Class1.destructor" << std::endl;
  };  
  virtual void Method1() {
    std::cout << "Class1.Method1()" << std::endl;
  }
};

class Class2 : public Class1 {
public:
  Class2() {};
  ~Class2() {
    std::cout << "Class2.destructor" << std::endl;
  }
  void Method1(){
    std::cout << "Class2.Method1()" << std::endl;
  }
};

int main() {
  Interface1 *p = new Class1();
  p->Method1();
  delete p;
  Interface1 *q = new Class2();
  q->Method1();
  delete q;
  return 0;
}
/* end */


Output:
1
2
3
4
5
Class1.Method1()
Class1.destructor
Class2.Method1()
Class2.destructor
Class1.destructor


Create a new paste based on this one


Comments: