Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341695
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:42

为什么退不出来啊
帮我改一下啊


//Polynomial.h
#ifndef POLYNOMIAL_H
#define POLYNOMIAL_H
#include
using namespace std ;
class Polynomial
{
 //friend Polynomial & operator + ()
public:
 Polynomial(void):m_degree(0){}
 int Degree(void) const ;
 void Input(void) ;
 void Output(void) const ;
 int Value(int x) const ;
 Polynomial & operator + (const Polynomial & p) ;
 Polynomial & operator = (const Polynomial &p) ;
private:
 int m_degree ; //指数
 int *m_ceof ;  //系数
};

int Polynomial::Degree(void) const
{
 return m_degree ;
}
void Polynomial::Input(void)
{
 int n ;
 cout<<"输入指数:" ;
 cin>>n ;
 m_degree = n ;
 m_ceof = new int[n + 1];
 cout<<"请输入系数:"< for(int i=0; i  cin>>m_ceof[i];
}
void Polynomial::Output(void) const
{
 for(int i= 0; i < m_degree + 1; ++i)
  cout< cout<}
int Polynomial::Value(int x) const
{
 int ret = 0 ;
 for(int n=m_degree ; n>-1; n--)
  ret = ret * x + m_ceof[n] ;
 return ret;
}
Polynomial &Polynomial:: operator + (const Polynomial & p)
 {
int len = m_degree >= p.m_degree ? m_degree : p.m_degree ;
Polynomial p1 ;
p1.m_degree = len ;
p1.m_ceof = new int[len+1] ;
int i = 0 ;

for( ; i p1.m_ceof[i] = m_ceof[i] + p.m_ceof[i] ;

if (i {
for ( ; i p1.m_ceof[i] = m_ceof[i] ;
}

if (i < p.m_degree + 1)
{
for( ; i p1.m_ceof[i] = p.m_ceof[i] ;
}

return p1 ;
 }

Polynomial & Polynomial:: operator = (const Polynomial &p)
 {
m_degree = p.m_degree ;
m_ceof = new int[m_degree+1] ;
for(int i= 0; i< m_degree ; i++)
m_ceof[i] = p.m_ceof[i] ;
return *this ;
 }

#endif

//main.cpp
#include "Polynomial.h"
int main(void)
{
 Polynomial p ;
 p.Input() ;
 p.Output() ;

 cout<
 Polynomial p1 ;
 p1.Input () ;
 Polynomial p2 ;

 p2 = p + p1 ;
 p2.Output () ;
 return 0 ;
}





--------------------next---------------------

阅读(973) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~