/*作业内容:
利用C++标准模板库的list实现多项式加法,可参考课本(P526-533)
求以下两个多项式的和:
F(x)=8x7+7x4+3x2+5 G(x)=9x6+2x5+5x4+x+2
作业要求:
1. 要求采用类的设计思路;
2. 要求采用多文件的方式,包括类的头文件(.h文件),
类的实现文件(.cpp文件)和main函数文件(.cpp);*/
//----------------------------Polynomial.h------------------------------------
#include<iostream>
#include<list>
#ifndef POLYNOMIAL
#define POLYNOMIAL
class Polynomial//定义一个Polynomial类
{
//--------------------内部定义一个Teams类-------------------------
private:
class Team//定义一个Teams类
{
public:
int coef;//多项式项的系数
int expo;//多项式项的幂
Team(int co=0,int ex=0)//Team类的构造函数
:coef(co),expo(ex)
{}
};
typedef Team *TeamPointer;
//--------------------成员函数以及成员变量-------------------------
public:
Polynomial();//构造函数
~Polynomial();//析构函数
Polynomial(const Polynomial & origPolynomial);//复制构造函数
const Polynomial & operator=(const Polynomial & rightHandSide);//赋值构造函数
bool empty() const;//判空函数
int degree() const;//返回最高次幂函数
void push_back(int co,int ex);//尾部添加元素函数
void input(int *a,int n);//输入函数
const Polynomial addition(const Polynomial & secondPoly);//多项式加法函数
const Polynomial operator+(const Polynomial & secondPoly) const;//重载“+”操作符
void display(ostream & out) const;//输出函数
private:
list<Team>aList;
int myDegree;
};
ostream & operator<<(ostream & out,const Polynomial & polynomial);//重载输出操作符
#endif/*作业内容:
利用C++标准模板库的list实现多项式加法,可参考课本(P526-533)