C++ 数组排序类实现 - SortArray 类
#include <iostream>
#include <algorithm>
using namespace std;
class Array{
protected:
int size;
int* ptr;
public:
Array(int s):size(s),ptr(new int[s]){//构造函数
for(int i=0;i<size;i++)
ptr[i]=0;
}
Array(Array& a){//拷贝构造函数
size=a.size;
ptr=new int[size];
for(int i=0;i<size;i++)
ptr[i]=a.ptr[i];
}
~Array(){//析构函数
delete [] ptr;
}
int getSize(){
return size;
}
int& operator[](int i){
return ptr[i];
}
Array& operator=(Array& a){
if(this==&a)
return *this;
delete [] ptr;
size=a.size;
ptr=new int[size];
for(int i=0;i<size;i++)
ptr[i]=a.ptr[i];
return *this;
}
};
class SortArray:public Array{
private:
bool isSort;
public:
SortArray(int s):Array(s),isSort(false){}
SortArray(SortArray& a):Array(a),isSort(a.isSort){}
~SortArray(){}
bool getIsSort(){
return isSort;
}
void sort(){//排序
std::sort(ptr,ptr+size);
isSort=true;
}
};
int main(){
int n=7;
SortArray a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<'Integers1:'<<endl;
cout<'Before sort:'<<endl;
for(int i=0;i<n;i++){
cout<<a[i]<<' ';
}
cout<<endl;
a.sort();
cout<'After sort:'<<endl;
for(int i=0;i<n;i++){
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oORO 著作权归作者所有。请勿转载和采集!