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(...

0s and 1s Count in 1 Byte Memory Word

This program will count all the 1s and 0s individualy presents in a 1 byte word. And store the result in individual places in Memory. Suppose, argument byte is stored in memory location 2050H and store the result of 1's count at 2060H memory location and 0's at 2061H Memory Location Hex Code Label Mnemonics Comment 3050 3051 3052 3A 50 20 START: LDA 2050H ;Load Accumulator with the number stored at location 2050H 3053 3054 06 00 MVI B, 00H ;Initiate 0's Counter 3055 3056 0E 00 MVI C, 00H ;Initiate 1's Counter 3057 3058 16 08 MVI D, 08H ;Initiate Bit Counter 3059 07 LOOP: RLC ;Rotate Accumulator Left with Carry 305A 305B 305C DA 61 30 JC ONE ;If 1 is found count 1 305D 04 INR B ;If 1 is not found it must be 0. So increase 0's Counter 305E 305F 3060 D2 62 30 JNC NEXT ;Go to next Bit 3061 0C ONE: INR C ;Increase 1's Counter 3062 15 NEXT: DCR D ;Decrease the Bit Counter 3063 3064 3065 C2 ...