/*********************************************************************
 ** This example of the sequence of calls of the copy constructor and
 ** the overloading of assignment operator member function.
 ***********************************************************************/
#include  <stdio.h>
#include  <stdlib.h>

class number
{
    int   integer;

    public:
			number(void);
			number(int);
			number(const number &);
			number & operator = (const number &);
//	void  print(void);
};
//**********************************************************************
number::number(void)
{
    integer = 10;
    printf("\n default constructor  %d",integer);
}
//**********************************************************************
number::number(int value)
{
    integer = value;
    printf("\n initializer constructor  %d",integer);
}
//**********************************************************************
number::number(const number & class_1)
{
    integer = class_1.integer;
    printf("\n copy constructor  %d",integer);
}
//**********************************************************************
number& number::operator =(const number & class_1)
{
    integer = class_1.integer;
    printf("\n assignment operator  %d",integer);
    return *this;
}
//**********************************************************************
main()
{
   system("cls");
   number   object_1;
   number   object_2(40);
   number   object_3 = object_1;
   number   object_4 = number (30);
   object_4 = object_2;
   getchar();
   return(0);
}


