多项式类头文件:
///2014.5.20 - 2013.5.24
/**
*该文件定义一个polynomial(多项式)类
*类中使用带头节点的链式队列存储多项式信息
*每个节点的c表示多项式每一项的系数(头结点的c表示项数)
*e表示每一项的指数
*输入数据格式以下为例:
*(-3.1x8)(+11x9)(+2x)(+7)
*(9x)(-9x)(3x)
*(6x)(-3)(-x)(+4.4x2)(-1.2x9)
*(-6x)(-3)(+5.4x2)(-x2)(+7.8x15)
*该类重载了输入输出运算符,和加减法运算符
*其中按照实验指导书中的要求加法操作使用对队列的操作实现
*减法运算直接调用加法运算的operation+() 函数
*/
#ifndef polynomial_h
#define polynomial_h
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
//多项式节点类
class polNode
{
public:
double c ; //每个项的系数
int e ; //每个项的指数
polNode * next;
polNode();
polNode(double cc,int ee);
};
//构造函数
polNode::polNode(){
c = e = 0;
next = NULL;
}
polNode::polNode(double cc,int ee){
c = cc, e = ee, next = NULL;
}
//多项式类
class polynomial
{
private:
polNode *head;
public:
polynomial(); //构造函数
polynomial(const polynomial & ); //复制构造函数
polynomial &operator=(const polynomial & ); //重载赋值运算符
polynomial standardization(); //规格化,删除系数为0的项
friend istream& operator>>(istream & , polynomial & ); //重载输入运算符
friend ostream& operator<<(ostream &, polynomial ); //重载输出运算符
polynomial operator+(const polynomial &) const ; //重载加法运算符
polynomial operator-(const polynomial &) const ; //重载减法运算符
};
//成员函数实现文件
#include "polynomial.cpp"
#endif
实现文件ÿ