定义一个基类myarray,基类中可以存放一组整数。基类中有构造函数、析构函数、输入数据和输出数据的函数和定义一个类sortarray继承自myarray,在该类中定义函数实现从大到小的排序功能。
时间: 2023-06-27 14:06:54 浏览: 207
下面是基类`myarray`的定义:
```c++
class myarray {
protected:
int* arr;
int size;
public:
myarray(int n) : size(n) {
arr = new int[n];
}
virtual ~myarray() {
delete[] arr;
}
virtual void input() {
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
virtual void output() {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
};
```
在上述代码中,我们定义了一个基类`myarray`,其中包含了一个整型指针`arr`和一个整型变量`size`,表示数组的大小。同时,我们定义了一个构造函数和一个析构函数,以及两个虚函数`input`和`output`,分别用于输入和输出数组中的元素。
下面是继承自`myarray`的类`sortarray`的定义:
```c++
class sortarray : public myarray {
public:
sortarray(int n) : myarray(n) {}
void sort() {
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
};
```
在上述代码中,我们定义了一个继承自`myarray`的类`sortarray`,其中包含了一个函数`sort`,用于将数组中的元素从大到小进行排序。在`sort`函数中,我们使用了冒泡排序的方法。
完整代码如下:
阅读全文