Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AbstractClass
- {
- public:
- AbstractClass()
- {
- std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
- }
- virtual ~AbstractClass() = 0
- {
- 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;
- }
- };
- class IAlpha
- {
- public:
- virtual ~IAlpha() = 0 {}
- };
- class AbstractClass : public IAlpha
- {
- public:
- AbstractClass()
- {
- std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
- }
- virtual ~AbstractClass() = 0
- {
- 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;
- }
- };
- class IAlpha
- {
- public:
- virtual ~IAlpha() = 0 {}
- };
- class AbstractClass : public IAlpha
- {
- public:
- AbstractClass()
- {
- std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
- }
- virtual ~AbstractClass() = 0
- {
- 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;
- }
- };
- class IAlpha
- {
- public:
- virtual ~IAlpha() = 0 {}
- };
- class IBeta
- {
- public:
- virtual ~IBeta() = 0 {}
- };
- class AbstractClass : public IAlpha, public IBeta
- {
- public:
- AbstractClass()
- {
- std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
- }
- virtual ~AbstractClass() = 0
- {
- 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;
- }
- };
- AbstractClass::~AbstractClass()
- struct IAlpha {
- virtual ~IAlpha() = 0;
- };
- inline IAlpha::~IAlpha() {}
- // similarly for the rest.
Add Comment
Please, Sign In to add comment