Guest User

Untitled

a guest
Jan 20th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. class AbstractClass
  2. {
  3. public:
  4. AbstractClass()
  5. {
  6. std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
  7. }
  8. virtual ~AbstractClass() = 0
  9. {
  10. std::wcout << L"AbstractClass::~AbstractClass()" << std::endl;
  11. }
  12. };
  13.  
  14. class ConcreteClass : public AbstractClass
  15. {
  16. public:
  17. ConcreteClass()
  18. {
  19. std::wcout << L"ConcreteClass::ConcreteClass()" << std::endl;
  20. }
  21. virtual ~ConcreteClass()
  22. {
  23. std::wcout << L"ConcreteClass::~ConcreteClass()" << std::endl;
  24. }
  25. };
  26.  
  27. class IAlpha
  28. {
  29. public:
  30. virtual ~IAlpha() = 0 {}
  31. };
  32.  
  33. class AbstractClass : public IAlpha
  34. {
  35. public:
  36. AbstractClass()
  37. {
  38. std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
  39. }
  40. virtual ~AbstractClass() = 0
  41. {
  42. std::wcout << L"AbstractClass::~AbstractClass()" << std::endl;
  43. }
  44. };
  45.  
  46. class ConcreteClass : public AbstractClass
  47. {
  48. public:
  49. ConcreteClass()
  50. {
  51. std::wcout << L"ConcreteClass::ConcreteClass()" << std::endl;
  52. }
  53. virtual ~ConcreteClass()
  54. {
  55. std::wcout << L"ConcreteClass::~ConcreteClass()" << std::endl;
  56. }
  57. };
  58.  
  59. class IAlpha
  60. {
  61. public:
  62. virtual ~IAlpha() = 0 {}
  63. };
  64.  
  65. class AbstractClass : public IAlpha
  66. {
  67. public:
  68. AbstractClass()
  69. {
  70. std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
  71. }
  72. virtual ~AbstractClass() = 0
  73. {
  74. std::wcout << L"AbstractClass::~AbstractClass()" << std::endl;
  75. }
  76. };
  77.  
  78. class ConcreteClass : public AbstractClass
  79. {
  80. public:
  81. ConcreteClass()
  82. {
  83. std::wcout << L"ConcreteClass::ConcreteClass()" << std::endl;
  84. }
  85. virtual ~ConcreteClass()
  86. {
  87. std::wcout << L"ConcreteClass::~ConcreteClass()" << std::endl;
  88. }
  89. };
  90.  
  91. class IAlpha
  92. {
  93. public:
  94. virtual ~IAlpha() = 0 {}
  95. };
  96.  
  97. class IBeta
  98. {
  99. public:
  100. virtual ~IBeta() = 0 {}
  101. };
  102.  
  103. class AbstractClass : public IAlpha, public IBeta
  104. {
  105. public:
  106. AbstractClass()
  107. {
  108. std::wcout << L"AbstractClass::AbstractClass()" << std::endl;
  109. }
  110. virtual ~AbstractClass() = 0
  111. {
  112. std::wcout << L"AbstractClass::~AbstractClass()" << std::endl;
  113. }
  114. };
  115.  
  116. class ConcreteClass : public AbstractClass
  117. {
  118. public:
  119. ConcreteClass()
  120. {
  121. std::wcout << L"ConcreteClass::ConcreteClass()" << std::endl;
  122. }
  123. virtual ~ConcreteClass()
  124. {
  125. std::wcout << L"ConcreteClass::~ConcreteClass()" << std::endl;
  126. }
  127. };
  128.  
  129. AbstractClass::~AbstractClass()
  130.  
  131. struct IAlpha {
  132. virtual ~IAlpha() = 0;
  133. };
  134. inline IAlpha::~IAlpha() {}
  135. // similarly for the rest.
Add Comment
Please, Sign In to add comment