Mega Code Archive

 
Categories / C++ Tutorial / Data Types
 

Safe array class

#include <iostream> #include <new> #include <cstdlib> using namespace std; class array {   int *p;   int size; public:   array(int sz) {     try {       p = new int[sz];     } catch (bad_alloc xa) {       cout << "Allocation Failure\n";       exit(EXIT_FAILURE);     }     size = sz;   }   ~array() { delete [] p; }     // Copy Constructor     array(const array &a) {       int i;       try {         p = new int[a.size];       } catch (bad_alloc xa) {         cout << "Allocation Failure\n";         exit(EXIT_FAILURE);       }       for(i=0; i<a.size; i++) p[i] = a.p[i];     }   void put(int i, int j) {     if(i>=0 && i<size) p[i] = j;   }   int get(int i) {     return p[i];   } }; int main() {   array num(10);   for(int i=0; i<10; i++)      num.put(i, i);   for(int i=9; i>=0; i--)      cout << num.get(i);   cout << "\n";   array x(num); // invokes copy constructor   for(int i=0; i<10; i++)      cout << x.get(i);   return 0; } 9876543210 0123456789"