[ create a new paste ] login | about

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

ragweed - C++, pasted on Sep 26:
class IAlpha
{
public:
  virtual ~IAlpha() = 0;
};

IAlpha::~IAlpha()
{
}

class IBeta
{
public:
  virtual ~IBeta() = 0;
};

IBeta::~IBeta()
{
}

class AbstractClass : public IAlpha, public IBeta
{
public:
  AbstractClass()
  {
    std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
  }
  virtual ~AbstractClass() = 0;
};

AbstractClass::~AbstractClass()
{
  std::wcout << L"AbstractClass::~AbstractClass()" << std::endl;
}

class ConcreteClass : public AbstractClass
{
public:
  ConcreteClass()
  {
    std::wcout << L"ConcreteClass::ConcreteClass()" << std::endl;
  }
  virtual ~ConcreteClass()
  {
    std::wcout << L"ConcreteClass::~ConcreteClass()" << std::endl;
  }
};

int main(int argc, const char**argv)
{
  ConcreteClass* c = new ConcreteClass();

  delete c;

}


Output:
1
2
3
4
AbstractClass::AbstractClass()
ConcreteClass::ConcreteClass()
ConcreteClass::~ConcreteClass()
AbstractClass::~AbstractClass()


Create a new paste based on this one


Comments: