realpoly.h
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. // File = realpoly.h
  3. //
  4. #ifndef _REALPOLY_H_
  5. #define _REALPOLY_H_  
  6. #include <fstream>
  7. #include "cmpxpoly.h"
  8. class RealPolynomial
  9. {
  10. public: 
  11.   //  default constructor
  12.   RealPolynomial( );
  13.   
  14.   // constructor for initializing a constant
  15.   RealPolynomial( const double coeff_0);
  16.                    
  17.   //  copy constructor
  18.   RealPolynomial( const RealPolynomial &original);
  19.   
  20.   //  conversion constructor
  21.   RealPolynomial( const CmplxPolynomial &original);
  22.   // constructor for initializing a binomial
  23.   RealPolynomial( const double coeff_1,
  24.               const double coeff_0);
  25.                    
  26.   // constructor for initializing a quadratic
  27.   RealPolynomial( const double coeff_2,
  28.               const double coeff_1,
  29.               const double coeff_0);
  30.                    
  31.   // initializing constructor
  32.   RealPolynomial( const int degree, const double* const coefficient);
  33.   // assignment operator
  34.   RealPolynomial& operator= (const RealPolynomial &right);
  35.   
  36.   //  multiply assign operator
  37.   RealPolynomial& operator*= (const RealPolynomial &right);
  38.   //  add assign operator
  39.   RealPolynomial& operator+= (const RealPolynomial &right);
  40.   // multiply by another polynomial
  41.   RealPolynomial operator* (const RealPolynomial &right);
  42.   // add another polynomial
  43.   RealPolynomial operator+ (const RealPolynomial &right);
  44.   // multiply by double and assign operator        
  45.   RealPolynomial& RealPolynomial::operator*= (double right);
  46.   
  47.   //  divide assign operator
  48.   RealPolynomial& operator/= (const RealPolynomial &right);
  49.   
  50.   // dump polynomial to an output stream
  51.   void DumpToStream( ofstream* output_stream);
  52.   // get degree of polynomial
  53.   int RealPolynomial::GetDegree(void); 
  54.   
  55.   // return specified coefficient
  56.   double RealPolynomial::GetCoefficient(int k);
  57.   friend RealPolynomial operator* (const RealPolynomial &poly, const double d_val);
  58.   friend RealPolynomial operator* (const double d_val, const RealPolynomial &poly);
  59. private:
  60.    
  61.   int Poly_Degree;
  62.   double* Poly_Coeff; 
  63. }; 
  64. #endif