C ++ ADT正确的头文件?

时间:2014-03-04 00:55:53

标签: c++

我正在制作自己的ADT,我遇到的问题是程序无法编译,因为它崩溃时出现错误C:\ Dev-Cpp \ Makefile.win [Build Error] [mainpoly.o]错误-1073741819 。 我不确定这意味着什么,但我认为这与我如何命名我的文件(.h,.cpp)有关。现在我想让我的程序编译,所以我可以测试我的ADT中的错误,我只需要帮助让程序在这时编译,而不是程序本身的错误,谢谢。我不知道什么扩展名给什么文件(如果那甚至是核心问题)另外,不确定热点在论坛上分开这三个程序,对不起。

以下是三个文件

 #ifndef POLYNOMIAL_H
 #define POLYNOMIAL_H 

 #include <string>
 #include <vector>

struct v{
   int coe;
   int deg;
   };
class polynomial{
  private:               
          vector<v> poly;
  public:
           ~polynomial();
           polynomial(int, int);
           int degree();
           int coeffecient(int);
           void changeCoeffcient(int, int);
           void mulpoly(int, int);
           int addpoly(int, int);
           int getpoly();
};             
#endif  







#include "polynomial.h"
#include <vector>

polynomial::polynomial(int coeffecient, int degree){
                                coe=coeffecient;
                                deg=degree;
                                v t;                                    
                                t.co=coe;
                                t.de=deg;
                                poly.push_back(t);


                                }
  polynomial::~polynomial(){
                      delete[];
                      }
  int polynomial::degree(){
                     return poly;
                     }
  int polynomial::coeffecient(power){
int i=power;
int val;
for(int z=0;z<t.size;z++){
        if(i=t.de[z]){
             val=t.co[z];        
             break;         
        }
        else{
             return 0;
             }
             }
 return val;
}                       
void polynomial::changeCoeffcient(int newCoeffcient, int power){
int i=power;    
for(int z=0;z<t.size;z++){
        if(i=t.de[z]){
             t.co[z]=newCoeffcient;                         
             break;         
        }
        else{
             return 0;
             }
             }

 }        

 void polynomial::mulpoly(int coeffecient, int mul){
int i=coeffecient;    
for(int z=0;z<t.size;z++){
        if(i=t.co[z]){
             t.co[z]*=mul;                         
             break;         
        }
        else{
             return 0;
             }
             }

 }




 #include <stdlib.h>
 #include <iostream>
 #include <polynomial.h>
 using namespace std;

 int main(){
int i;
polynomial poly(3,5);
i=poly.degree();        
cout<<"The value is: "<<i;
system("PAUSE");
return 0;
  }

0 个答案:

没有答案