c++报错原因分析 代码是c++二级中的正确答案,不知道为什么vs2010会报错 代码在下面,报错样子也在下面 50
头文件#ifndefINTEGERS#defineINTEGERS#include<iostream>usingnamespacestd;constintMAXELEME...
头文件#ifndef INTEGERS#define INTEGERS#include<iostream>using namespace std;const int MAXELEMENTS=100; //集合最多可拥有的元素个数class Integers{ int elem[MAXELEMENTS]; //用于存放集合元素的数组 int counter; //用于记录集合中元素个数的计数器public: Integers(): counter(0){} //创建一个空集合 Integers(int data[], int size); //利用数组提供的数据创建一个整数集合 void add(int element); //添加一个元素到集合中 void remove(int element); //删除集合中指定的元素 int getCount()const{ return counter;} //返回集合中元素的个数 int getElement(int i)const{ return elem[i];} //返回集合中指定的元素 void sort(); //将集合中的整数按由小到大的次序进行排序 void show()const; //显示集合中的全部元素};void writeToFile(const char *path);#endif主文件#include"Integers.h"#include<iomanip>Integers::Integers(int data[], int size): counter(0){ for(int i=0; i<size; i++) add(data[i]);}void Integers::add(int element){ if(counter<MAXELEMENTS) elem[counter++]=element;}void Integers::remove(int element){ int j; for(j=counter-1; j>=0; j--) if(elem[j]==element) break; for(int i=j; i<counter-1; i++) elem[i]=elem[i+1]; counter--; }void Integers::sort(){//********333******** for (int i = 0; i < counter; i++) for (int j = counter -1; j > i; j--) if (elem[i] > elem[j]) { int temp = elem[i]; elem[i] = elem[j]; elem[j] = temp; }//********666********}void Integers::show()const{ for(int i=0; i<getCount(); i++) cout<<setw(4)<<getElement(i); cout<<endl;}int main(){ int d[]={5,28,2,4,5,3,2,75,27,66,31}; Integers s(d,11); s.show(); s.add(6); s.show(); s.add(19); s.show(); s.remove(2); s.show(); s.add(4); s.show(); s.sort(); s.show(); writeToFile(""); return 0;}
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询