dllbridge

Untitled

May 8th, 2026
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include  <iostream>
  2. #include    <memory>
  3. #include    <string>
  4. using namespace std;
  5.  
  6.  
  7. template <typename T>
  8. ////////////////////////////////////////////////////////////////
  9. class MyPtr
  10. {
  11.  
  12. T *ptr;
  13.  
  14.  
  15. public:
  16.  
  17. static int n;
  18.  
  19. MyPtr(T *p = nullptr): ptr(p)
  20. {
  21.  n ++;
  22.      cout << "*ptr = "<< *ptr << ", Создано указателей: " << n << endl;
  23.  
  24. }
  25.  
  26.    ~MyPtr()
  27.     {
  28.  
  29.     delete ptr;  
  30.  
  31. n --;
  32.  
  33. cout << "Осталось указателей: " << n << endl;
  34. }
  35.  
  36. T& operator*() {  return *ptr;  }
  37. };
  38.  
  39.  
  40. //int MyPtr<>::n = 0;
  41.  
  42.  
  43.  
  44.  
  45.  
  46. template <typename T>
  47. int MyPtr<T>::n = 0;
  48.  
  49.  
  50. ////////////////////////////////////////////////////////////////////////
  51. int main()                                                            //
  52. {
  53.   setlocale(LC_ALL, "rus");
  54.  
  55.     MyPtr<int> ptr_1(new int(42222));  
  56.  
  57.     cout << "*ptr_1 =  " << *ptr_1 << endl;
  58.    
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment