Skip to main content

IntArray Class Definition:: It can hold an array of Integer with Diffrent Size

A Class named 'intarray' which can store an integer array of different size.
This Class contains::
O Constructor with deafault argument value
At the time of Object creation if array size is missing then An array of size 0 will be created.
O Copy Constructor
This Constructor is used to create a new Object from an existing Object.
O Overloaded Operator =
This operator is overloaded to assign an intarray object into another object, simply as two integer variables can be made.
O Overloading Operator [ ]
As array element can be reffered by its position declaring in Subscript operator ( [ ] ), here every element of an object array can be reffered by [ ] operator.
O Overloading Operator >>
This is an input operator. Here we can take input to a object simply by this line cin >> a;. Here a is an intarray object.
O Overloading Operator <<
This is an output operator. Here we can get the output of an intarray object by this line cout << a;. Here a is an intarray object.
O Destructor
It will free-up the memory space allocated for an object.
#include<iostream.h>

class intarray{
  // Data Members
 int *a;     //Integer pointer to hold the address of integer array
 long int size;    //Array size
 public:
 //Member Functions
 intarray(int s=0) //Constructor with default value
 {
  size=s;
  if(s) a=new int[s]; else a=NULL;
 }

 intarray(intarray &t); // Declaration of Copy Constructor

 int& operator[](long int i) //[ ] operator overloading function definition
 {
  if(i>=0) return a[i]; else return a[size+1];
 }

 intarray operator = (intarray &t); // = operator overloding function declaration

 friend istream& operator >> ( istream &in, intarray &t);  //Opeartor overloading for input Array elements
 friend ostream& operator << ( ostream &out, intarray &t); //Operator overloading for Display Array Content

 ~intarray(void) //Destructor Definition
 {
  delete [] a;
 }
}

intarray::intarray(intarray &t) //Definition of Copy Constructor
{
 size=t.size;
 if(size)
 {
  a=new int[size];
  for(long i=0; i<size;i++)
 a[i]=t.a[i];
 }
 else
  a=NULL;
}

intarray intarray::operator = ( intarray &t)  //Definition of = Operator Overloading function
{
 if(size)
 delete [] a;

 size=t.size;
 if(size)
 {
  a=new int[size];
  for(long i=0; i<size;i++)
 a[i]=t.a[i];
 }
 else
  a=NULL;
 return *this;
}

istream& operator >> ( istream &in, intarray &t)  //Definition of >> Operator Overloading function
{
 for(long i=0; i<t.size;i++)
  in>>t.a[i];
 return in;
}

ostream& operator << ( ostream &out, intarray &t)  //Definition of << Operator Overloading function
{
 if(t.size)
 out<< t.a[0];
 for(long i=1;i<t.size;i++)
  out<<'|'<< t.a[i];
 out<< endl;
 return out;
}

void main()  //main() function starts from here
{
 intarray a(5);
 cout<<"Enter the array element::\n";
 cin>>a;
 cout<<"The Array contains:: \n"<< a;

 intarray b(a);
 cout<<"Here is the Copy of First Array::\n"<< b;

 cout<<"3rd element of the Array is:: "<< a[2];
 a[2]=7;
 cout<<"\nAfter modifying the 3rd element to 7::\n"<< a;
}

Comments

Popular posts from this blog

Class Point:: It holds co-ordinates of a point in format (x,y)

A class Named "Point" which stores the Co-ordinates of a point in (x,y) Format. This Class Contains:: O Constructor with default arguments O Copy Constructor O Function to display which Co-ordinate a Point belongs to O Function to get value of x of a point O Function to get value of y of a point O Function to get the Radious Vector (r) of a point O Function to get the Theta of a point O Overloaded Operator - to find out distance between two points O Overloaded Operator >> to take input O Overloaded operator O Destructor #include<iostream.h> #include<math.h> class point{ //Data Members int x,y; //They hold the value of X and Y co-ordinate of a Point. public: //Member Functions point(int t1=0, int t2=0) //Constructor with default arguments. { x=t1; y=t2; } point(point &t) //Copy Constructor { x=t.x; y=t.y; } int coordinate(void); //It returns the point's Co-ordinate, e.g., 1, 2, 3, or 4th. int getx(...