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