**fig3_25.txt** /* 1*/ struct Pnode /* 2*/ { /* 3*/ double Coefficient; /* 4*/ unsigned int Exponent; /* 5*/ Pnode( double C = 0.0, unsigned int E = 0 ) /* 6*/ { Coefficient = C; Exponent = E; } /* 7*/ ~Pnode( ) { } /* 8*/ inline int operator >( const Pnode & Right ) /* 9*/ { /*10*/ return Exponent < Right.Exponent; /*11*/ } /*12*/ inline int operator ==( const Pnode & Right ) /*13*/ { /*14*/ return Exponent == Right.Exponent; /*15*/ } /*16*/ }; /*17*/ class Polynomial /*18*/ { /*19*/ private: /*20*/ Sorted_List L; // Nodes sorted by exponent. /*21*/ friend Polynomial operator +( const Polynomial & Poly1, /*22*/ const Polynomial & Poly2 ); /*23*/ friend Polynomial operator *( const Polynomial & Poly1, /*24*/ const Polynomial & Poly2 ); /*25*/ friend ostream & operator << ( ostream & Out, /*26*/ Polynomial & Value ); /*27*/ friend istream & operator >> ( istream & In, /*28*/ Polynomial & Value ); /*29*/ public: /*30*/ // Constructors. /*31*/ Polynomial( ) { } /*32*/ Polynomial( Polynomial & Rvalue ); /*33*/ // Destructors. /*34*/ ~Polynomial( ) { } /*35*/ // Operators. /*36*/ const Polynomial & operator = ( Polynomial & Rvalue ); /*37*/ int operator == ( const Polynomial & Rvalue ); /*38*/ };