The class template can also be declared for a class having operator overloaded member functions. The syntax for declaring operator overloaded functions is the same as class template members and overloaded functions.
//template class for operator overloading complex class #include <iostream.h> template<class T> class Complex { T real, T imag; void getdata() { cin>>real>>imag ;} void putdata() { cout<<real<<imag;} Complex operator + (Complex C2); }; template<Class T> Complex<T>Complex<T>::operator+(Complex<T>(2)) { Complex<T>+; t.real=real+C2.real; t.imag=imag+C2.imag; return(t); } void main() { Complex<int>C1,C2,C3; C1.getdata(); C2.getdata(); C3=C1+C2; C3.putdata(); Complex<float>C4,C5,C6; C4.getdata(); C5.getdata(); C6=C4+C5; C6.putdata(); }
Read More Topics |
Pure virtual function in C++ |
Virtual base class |
Operator overloading in C++ |
Static member function in C++ |