#include <iostream>
using namespace std;
class Salary//工资类
{
public:
void set_salarys( );//设置工资
void add_salarys(int x);//增加工资
void sort_salarys();//根据工资由大到小排序
void show_salarys( );//显示工人的工资
void delete_space();//释放内存空间
private:
double *salarys;//工资
int number; //实际人数
};
//设置工资
void Salary::set_salarys( )
{
cout<<"请输入工人的数量:";
cin>>number;
//动态内存分配
salarys = new double[number];
int x;
cout<<"请输入工人的工资:";
cin>>x;
for(int i=0; i<number; i++)
{
salarys[i] = i+x;
}
}
//增加工资
void Salary::add_salarys(int x)
{
for(int i=0; i<number; i++)
{
salarys[i] += x;
}
}
//根据工资由大到小排序
void Salary::sort_salarys()
{
int temp;
for(int i=0; i<number-1; i++)
{
for(int j=0; j<number-i; j++)
{
if(salarys[j] < salarys[j+1])
{
temp = salarys[j];
salarys[j] = salarys[j+1];
salarys[j+1] = temp;
}
}
}
}
//显示工人的工资
void Salary::show_salarys( )
{
for(int i=0; i<number; i++)
{
cout<<"第"<<i+1<<"个工人的工资是"<<salarys[i]<<endl;
}
}
//释放内存空间
void Salary::delete_space()
{
delete(salarys);
}
int main( )
{
Salary s;
s.set_salarys( );
s.add_salarys(100);
s.sort_salarys();
s.show_salarys( );
s.delete_space();
return 0;
}
执行结果: