第十周实验报告2

实验目的:定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、构析函数、输出信息的函数。并在此的基础上派生出CEmployee类,派生类CEmployee增加两个数据成员,分别表示部门和薪水,要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义构析函数,定义输出信息的函数

实验代码:

#include <iostream>

#include <string.h>

#include <iomanip>

using namespace std;

class CPerson
{
protected:
	char * m_szName;
	char * m_szId;
	int m_nSex;
	int m_nAge;
public:
	CPerson(char *name, char *id, int sex, int age)
	{
		m_szName = name;
        m_szId = id;
		m_nSex = sex;
		m_nAge = age;
	}
	~CPerson(){}
};
class CEmployee:public CPerson
{
private:
	char *m_szDepartment;
	float m_Salary;
public:
	CEmployee(char *name, char *id, int sex, int age, char *department, float salary):CPerson(name, id, sex, age)
	{
		m_szDepartment = department;
		m_Salary = salary;
	}
	void Show2()
	{
		cout << setiosflags(ios::right);
		cout << setw(8) << "name" << setw(22) << "id" << setw(8) << "sex" << setw(8) << "age" << setw(14) << "department" << setw(10) << "salary" << endl;
		cout << setw(8) << m_szName << setw(22) << m_szId << setw(8) << ((m_nSex == 0)?"woman":"man") << setw(8) << m_nAge << setw(14) << m_szDepartment << setw(10) << m_Salary << endl;
	}
	~CEmployee(){}
};
int main()
{
	char name[10], id[19], department[10];
	int sex, age;
	float salary;
	cout << "input employee's name, id, sex(0:woman, 1:man), age, department, salary:\n";
	cin >> name >> id >> sex >> age >> department >> salary;
	CEmployee employee1(name, id, sex, age, department, salary);
	employee1.Show2();
	system("pause");

	return 0;
}


实验结果截图:

input employee's name, id, sex(0:woman, 1:man), age, department, salary:
Tom 370102198703255357 0 25 computer 2345.6
    name                    id     sex     age    department    salary
     Tom    370102198703255357   woman      25      computer    2345.6
请按任意键继续. . .


实验心得:

实验考查派生类的构造函数和构析函数,其实也是最简单的啦,请不要反驳我,不要误会,我可不是说这个题目很简单哦,只是,不相信我的话请看看课本P363,例11.5,算是很好的实验模板吧,整体构架几乎一模一样,只是在类名和函数上有所改动,说实话,这个题目要实现的功能函数并不难,所以,虽然,我在编写代码的过程中,并不太顺利,可是,只能说自己太眼高手低了,不管现在我们已经学到的东西有多少,千万不要自满,虽然接触C++已经半年多了,可是我们还是地地道道的菜鸟,不用说全国,就只是自己班里,厉害的人物也还是很多,最起码现在的我还是远远不过,要学的东西还有太多太多,差距是清晰可见的,现在能做的也只有,一步一个脚印,不要总是眺望高空,还是脚踏实地,回归课本,踏踏实实把课本学好。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值