почему не покпилится в unix данный код? Цитата |
integerset.h:13: error: ISO C++ forbids declaration of âostreamâ with no type integerset.h:13: error: âostreamâ is neither function nor member function; cannot be declared friend integerset.h:13: error: expected â;â before â&â token
|
Код |
.h class integerset { public: integerset(); integerset *unionOfSets(const integerset& ) const; integerset *intersectionOfSets(const integerset&) const; void insertElement(); void deleteElement(); void setArray(int, int); void deleteElement(int); void printSet() const; bool isEqualTo(const integerset& ) const; private: int integerSet[101]; };
integerset.cpp #include <iostream> using namespace std; #include "integerset.h"
integerset::integerset() { for(int i=0;i<101;i++) integerSet[i]=0; }
void integerset::insertElement() { int arrayFig; int i; cout<<"Enter numbers to insert in array(999 to stop): "<<endl; for(int p=0;p<101||i!=999;p++) { cin>>i; if (i==999) break; if(i<0||i>100) { cout<<"wrong number! Please Enter numbers from 0 to 100"<<endl; } else { arrayFig=1; setArray(arrayFig, i); } } } void integerset::deleteElement() { int arrayFig; int i; cout<<"Enter numbers to delete from array(999 to stop): "<<endl; for(int p=0;p<101||i!=999;p++) { cin>>i; if (i==999) break; if(i<0||i>100) { cout<<"wrong number! Please Enter numbers from 0 to 100"<<endl; } else { arrayFig=0; setArray(arrayFig, i); } } } void integerset::setArray(int a, int b) { integerSet[b]=a; } integerset *integerset::unionOfSets(const integerset& integer) const { integerset *p=new integerset(); for (int i=0;i<101;i++) { if (integer.integerSet[i]==1||integerSet[i]==1) p->integerSet[i]=1; else p->integerSet[i]=0; } return p; } integerset *integerset::intersectionOfSets(const integerset& integer) const { integerset *p=new integerset(); for (int i=0;i<101;i++) { if (integer.integerSet[i]==0||integerSet[i]==0) p->integerSet[i]=0; else p->integerSet[i]=1; } return p; } void integerset::printSet()const { int count=0; for (int i=0;i<101;i++) { if (integerSet[i]==1) cout<<i<<" "; else count++; if (count==100) cout<<"---"<<endl; } cout<<endl; }
bool integerset::isEqualTo(const integerset& integer) const { int count=0; for(int i=0;i<101;i++) { if (integer.integerSet[i]!=integerSet[i]) { cout<<"sets are not equal!"; return 1; } } cout<<"sets are equal!"; return 0; }
test.cpp #include <iostream> using namespace std; #include "integerset.h" int main() { integerset a, b; a.insertElement(); cout<<"Elements is object a after insertElement(): "<<endl; a.printSet(); a.deleteElement(); cout<<"Elements is object a after deleteElement(): "<<endl; a.printSet(); b.insertElement(); b.printSet(); integerset *setunion = a.unionOfSets(b); integerset *setinersection=a.intersectionOfSets(b);
a.isEqualTo(b); return 0; }
|
|