C++走向远洋——43(人数不定的工资类,动态分配内存与释放)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年4月29日 * 版本号:V1.0 * 问题描述:动态分配内存 * 程序输入:无 * 程序输出:见运行结果 */ #include<iostream> using namespace std; class Salary{ public: Salary(int n);//n为职工人数,初始化时完成空间的分配 ~Salary(); //析构函数中释放初始化分配的空间 void input_salary(); void show_salary(); private: double *salary; int number; }; //下面定义类的成员函数 Salary::Salary(int n) { salary = new double[number]; //动态分配内存 number=n; } Salary::~Salary() { delete []salary; //在析构函数中释放动态分配的空间 } void Salary::input_salary() { int i; cout << "请输入"<<number<<"名职工的工资:" << endl; for(i = 0; i < number; ++i) cin >> *(salary+i); return ; } void Salary::show_salary() { cout << "职工工资清单: " ; for(int i = 0; i < number; ++i) cout << *(salary+i)<<" "; cout << endl; return ; } //测试函数 int main() { Salary s(10); s.input_salary(); s.show_salary(); return 0; }
运行结果:
心得:
最重要的是理解