cus_newd.cpp
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <iostream.h>
  2. #include <stdlib.h>
  3. class loc 
  4. {
  5.    int longitude, latitude;
  6.   public:
  7.     loc(void) {}                //  Used to construct temporaries
  8.     loc (int lg, int lt)
  9.       {
  10.         longitude = lg;
  11.         latitude = lt;
  12.       }
  13.     void show(void)
  14.       {
  15.       cout << longitude << " ";
  16.       cout << latitude << endl;
  17.       }
  18.     void *operator new(size_t size);
  19.     void operator delete(void *p);
  20.  };
  21. void *loc::operator new(size_t size)
  22.  {
  23.    cout << "In the custom new function." << endl;
  24.    return malloc(size);
  25.  }
  26. void loc::operator delete(void *p)
  27.  {
  28.    cout << "In the custom delete function." << endl;
  29.    free(p);
  30.  }
  31. void main(void)
  32.   {
  33.   loc *p1, *p2;
  34.   p1 = new loc(10,20);
  35.   if (!p1)
  36.    {
  37.      cout << "Allocation errorn";
  38.      exit(1);
  39.    }
  40.   p2 = new loc(-10,-20);
  41.   if (!p2)
  42.    {
  43.       cout << "Allocation errorn";
  44.       exit(1);
  45.    }
  46.   p1->show();
  47.   p2->show();
  48.   delete p1;
  49.   delete p2;
  50.   exit (0);
  51.  }