(2)声明一个类SortArray继承类MyArray,在该类中定义一个函数,具有将输入的整数从小到大进行排序的功能。

本文介绍了C++中MyArray和SortArray类的实现,包括类的构造、输入数据、显示原始数值以及使用冒泡排序算法对数组进行排序的过程。
摘要由CSDN通过智能技术生成

#include <iostream>

#include <string>

using namespace std;

class MyArray

{

public:

MyArray(int leng);

~MyArray();

void Input();

void Display(string);

protected:

int* alist;

int length;

};

MyArray::MyArray(int leng)

{

if (leng <= 0)

{

cout << "error length";

exit(1);

}

alist = new int[leng];

length = leng;

if (alist == NULL)

{

cout << "assign failure";

exit(1);

}

cout << "MyArray类对象已构建。" << endl;

}

MyArray::~MyArray()

{

delete [] alist;

cout << "MyArray类对象被撤销。" << endl;

}

void MyArray::Input()

{

cout << "请从键盘键入" << length << "个整数:";

int i;

int* p = alist;

for (i = 0;i < length;i++, p++)

cin >> *p;

}

void MyArray::Display(string str)

{

int i;

int* p = alist;

cout << str << length << "个整数";

for (i = 0;i < length;i++, p++)

cout << *p << " ";

cout << endl;

}

class SortArray : public MyArray

{

public:

void Sort();

SortArray(int leng) :MyArray(leng)

{

cout << "SrotArray类对象已创建。" << endl;

}

virtual ~SortArray();

};

void SortArray::Sort()

{

for (int i = 0; i < length - 1; i++)

{

for (int j = 0; j < length - 1 - i; j++)

{

if (alist[j] > alist[j + 1])

{

int t = alist[j];

alist[j] = alist[j + 1];

alist[j + 1] = t;

}

}

}

}

SortArray::~SortArray()

{

cout << "SrotArray类对象被撤销。" << endl;

}

int main()

{

SortArray s(5);

s.Input();

s.Display("原始数值");

s.Sort();

s.Display("排序后的数组");

cout << "wsq36" << endl;

system("pause");

return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值