Rules of Operator Overloading
- It is a function defined to an operator with new term or meaning.
- It cannot produce new operator.
- It cannot modified the meaning of the existing operator.
- It can generate new functionality for the existing operators.
- It helps to produce mathematical expression to replace arguments in function.
- Binary and Unary operator overloading.
- The following operators cannot be overloaded class member access (., .*), conditional (?:)sizeof, and scope (::).
Regular Function in a class
class SI
{float i,p,n,r,a;
public:
SI(){};
SI(int gp,int gn, int gr);
void putdata(void);
SI sum(SI, SI);
};
SI SI::sum(SI i1, SI i2)
{SI i3; i3.p=i1.p+i2.p; i3.i=i1.i+i2.i; i3.a=i1.a+i2.a; return i3;
}
void SI::putdata(void)
{cout<<"Principle is: "<
}
SI::SI(int gp,int gn, int gr){
p=gp;n=gn;r=gr; i=(p*n*r)/100; a=p+i;
}
int main()
{ SI i1,i2,i3;
i1=SI(1000,2,10); i1.putdata(); cout<
return 0;
}