#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;
}
``
Description:1、声明一个Array类该类具有两个数据成员一个是整型size表示数组的大小另一个是整型指针ptr表示数组存放的起始地址。该类的声明已经在前缀中有个别函数还需要类外定义。2、声明一个排序数组SortArray类继承于Array类该类新增一个数据成员isSort为bool类型记录该数组是否已经排序。新增一个成员函数Sort用于将数组从小到大进行排序。注意:程序主函数在后缀中已

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

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