#include<iostream>
#include<cstdlib>
using namespace std;
class intArray{
int *pa;
unsigned int size;
public:
intArray(unsigned int n=10);
~intArray(){ delete[] pa; }
intArray(intArray &a);
int GetSize(); //返回数组的大小,即数组的元素个数。
int GetAt(int nIndex); //获得nIndex索引位置上的数组元素值。
void SetAt(int nIndex, int newElement); //向nIndex位置设定新的newElement值。
int& operator[](int nIndex);
};
intArray::intArray(unsigned int n)
{
size=n;
pa=new int[n];
for(int i=0; i<n; i++)
*(pa+i)=0;
}
intArray::intArray(intArray &a)
{
size=a.size;
delete[] pa;
pa=new int[size];
for(int i=0; i<size; i++)
*(pa+i)=*(a.pa+i);
}
int intArray::GetSize() //返回数组的大小,即数组的元素个数。
{
return size;
}
int intArray::GetAt(int nIndex) //获得nIndex索引位置上的数组元素值。
{
if(nIndex>=0 && nIndex<size)
return *(pa+nIndex);
else
throw "下标越界";
}
void intArray::SetAt(int nIndex , int newElement) //向nIndex位置设定新的newElement值。
{
if(nIndex>=0 && nIndex<size)
*(pa+nIndex)=newElement;
else
throw "下标越界";
}
int& intArray::operator[](int nIndex)
{
if(nIndex>=0 && nIndex<size)
return *(pa+nIndex);
else
throw "下标越界";
}
int main(){
int n;
cout <<"n=";
cin >>n;
intArray a(n);
try
{
for(int i=0; i<n; i++)
{
a[i]=rand()%100;
cout <<a[i] <<" ";
}
cout <<endl;
//排序
int t;
for(i=0; i<n-1; i++)
for(int j=0; j<n-i-1; j++)
{
if(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
for(i=0; i<n; i++)
{
cout <<a[i] <<" ";
}
cout <<endl;
}
catch(char *e){
cout <<"Error: " <<e <<endl;
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考