fork download
  1. #include <iostream>
  2. #include <memory>
  3. using namespace std;
  4.  
  5. class PSData
  6. {
  7. char* mData;
  8. public:
  9. void Load() {};
  10. char* GetData() // void zmien na odpowiadajÄ…cy Ci typ
  11. {
  12. cout << "GetData: " << this << endl;
  13. return mData;
  14. }
  15. };
  16.  
  17. class DataLine
  18. {
  19. public:
  20. DataLine(std::shared_ptr<PSData>& data)
  21. {
  22. data->GetData();
  23. }
  24. };
  25.  
  26. class DataType1 : public DataLine
  27. {
  28. public:
  29. DataType1(std::shared_ptr<PSData>& data) : DataLine(data)
  30. {}
  31. };
  32.  
  33. class DataType2 : public DataLine
  34. {
  35. public:
  36. DataType2(std::shared_ptr<PSData>& data) : DataLine(data)
  37. {}
  38. };
  39.  
  40. int main() {
  41. shared_ptr<PSData> ptr = make_shared<PSData>();
  42. DataType2 d2 = DataType2(ptr);
  43. DataType1 d1 = DataType1(ptr);
  44. return 0;
  45. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
GetData: 0x5598d33c0c30
GetData: 0x5598d33c0c30