Class type to Basic

The Class type to Basic type conversion is done by using Casing Operator.

The casting operator function should satisfy the following conditions.

1. It must be a class member.

2.It must not specify a return type.

3.It must not have any arguments.

Example:

#include<iostream.h>
#include<conio.h>
class A
{
    int a;
    public:
        A()
        {
            a=11;
        }
        operator int()
        {
            int ans;
            ans=a*2;
            return ans;
        }
};
void main()
{
    int a1;
    clrscr();
    cout<<" The size of class A"<<Sizeof(a1);
    int m=a1;
    cout<<" Answer="<<m;
    getch();
}

Class type to Class :

The class to class conversion is done by both constructor and casting operator.

Example:

#include<iostream.h>
#include<conio.h>
class B;
class A
{
    int a;
    pubic:
        A()
        {
            a=10;
        }
        friend B;
};
class B
{
    int b;
    public:
        B()
        {
            b=0;
        }
        B(A a1)
        {
            b=a1.a*2;
            
        }
        void disp()
        {
            cout<<" the answer"<<b;
        }
};
void main()
{
    A a1;
    B b1;
    clrscr();
    b1=a1;
    b1.disp();
    getch();
}