#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;
}
C++ 数组排序类实现 - SortArray 类

原文地址: https://www.cveoy.top/t/topic/oORO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录