<pre class="cpp" name="code">/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:呼亚萍
* 完成日期:2015年4月13日
* 版 本 号:v1.0
*
* 问题描述:设计一个工资类(Salary),其中的数据成员包括职工人数(number,人数不定)和number个职工的工资salary,要求输入职工工资并逐个输出。
* 程序输入:相应的程序
* 程序输出:工人的工资情况
*/
#include <iostream>
using namespace std;
class Salary
{
public:
Salary(int n);//n为职工人数,初始化时完成空间分配
~Salary();//析构函数中释放初始化时分配的空间
Salary(Salary &s);
void input_salary();
void show_salary();
private:
double *salary;
int number;
};
Salary::Salary(int n)
{
number=n;
salary=new double[n];
}
Salary::~Salary()
{
delete []salary;
}
Salary::Salary(Salary &s)//复制构造函数
{
number=s.number;
salary=new double[number];
for(int i=0; i<number; i++)
{
salary[i]=s.salary[i];
}
}
void Salary::input_salary()
{
int i;
for(i=0; i<number; i++)
{
cin >> salary[i];
}
return;
}
void Salary::show_salary()
{
int i;
for(i=0; i<number; i++)
{
cout <<salary[i]<<" ";
}
return;
}
int main()
{
Salary s1(10);
s1.input_salary();
Salary s2(s1);
s1.show_salary();
cout<<endl;
s2.show_salary();
return 0;
}
运算结果:
知识点总结:
指向一个指针数组,为其分配空间
学习心得:
多加练习,概念会越来越清晰。