首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家帮小弟我看个类!+法运算符和副本构造函数出有关问题了。

2012-02-09 
大家帮我看个类!+法运算符和副本构造函数出问题了。。。。1e:\my documents\visual studio 2005\projects\819

大家帮我看个类!+法运算符和副本构造函数出问题了。。。。
1>e:\my documents\visual studio 2005\projects\819new\819new\polynomial.h(18) : error C2662: “Polynomial::getPolynomial”: 不能将“this”指针从“const Polynomial”转换为“Polynomial &”
#pragma once
#include <iostream>
using namespace std;
class Polynomial{
private:
int * polynomial;
public:
Polynomial(){
polynomial = new int[50];
for (int i = 0 ; i < 50 ; i++)
polynomial[i] = 0 ;
}
Polynomial( const Polynomial& a )
{
polynomial = new int [50];
for (int i = 0 ; i < 50 ; i++)
polynomial[i] = a.getPolynomial(i);
}

Polynomial(int a1,int a2,int a3,int a4,int a5,int a6){

polynomial = new int[50];
for (int i = 0 ; i < 50 ; i++)
polynomial[i] = 0 ;


polynomial[a2]=a1;
polynomial[a4]=a3;
polynomial[a6]=a5;

}
   
int getPolynomial(int a){
return polynomial[a];
}

void setPolynomial(int b ,int a){  
 

  polynomial[b]=a;
this->print();

}


void print(){
for (int i = 0 ; i< 50 ; i ++)
if (polynomial[i]!=0)
cout<<polynomial[i]<<"x"<<i+1;
}
~Polynomial()
{
delete [] polynomial;
}

};
 
 Polynomial operator +(Polynomial& a,Polynomial& b){
Polynomial temp;
for (int i = 0 ; i < 50 ; i++ ){
temp.setPolynomial(i,a.getPolynomial(i)+b.getPolynomial(i));
temp.print();cout<<endl;}
return temp;
}


[解决办法]
刚才搞错了

C/C++ code
#pragma once#include  <iostream >using namespace std;class Polynomial{private:    int * polynomial;public:    Polynomial(){           polynomial = new int[50];        for (int i = 0 ; i  < 50 ; i++)            polynomial[i] = 0 ;    }    Polynomial( const Polynomial& a )    {        polynomial = new int [50];        for (int i = 0 ; i  < 50 ; i++)            polynomial[i] = a.getPolynomial(i);    }    Polynomial(int a1,int a2,int a3,int a4,int a5,int a6){        polynomial = new int[50];        for (int i = 0 ; i  < 50 ; i++)            polynomial[i] = 0 ;        polynomial[a2]=a1;        polynomial[a4]=a3;        polynomial[a6]=a5;    }    int getPolynomial(int a)const //这里修改    {        return polynomial[a];    }    void setPolynomial(int b ,int a){           polynomial[b]=a;        this->print();    }    void print(){        for (int i = 0 ; i < 50 ; i ++)            if (polynomial[i]!=0)                cout <<polynomial[i] <<"x" <<i+1;    }    ~Polynomial()    {        delete [] polynomial;    }};Polynomial operator +(const Polynomial& a,const Polynomial& b){    Polynomial temp;    for (int i = 0 ; i  < 50 ; i++ ){        temp.setPolynomial(i,a.getPolynomial(i)+b.getPolynomial(i));        temp.print();cout <<endl;}    return temp;} 

热点排行