第四十三讲 继承(1)

       上一讲中留给大家思考的问题想必大家都有一个结果了,本来是昨天开始谈继承的,但昨天电脑被老婆不知道怎么弄的,浏览器无法打开,各种修复无用,最终只好重新安装系统,所以,关于继承,今天我们也许只能给大家开一个头,不过开个头也算不错。
每个公司都有自己的人事系统,不过想想其实也是可以模拟的,一个人事系统管理着公司的员工,而每个员工不但有自己的姓名,同时还有公司的工号,还有相应的薪酬等等。我们可以如下实现:
———————————-
//employ.h
#pragma once
#include <iostream>#include <string>using namespace std;

namespace My_Code{
class employ
{
public:
employ();

virtual ~employ();

employ&

SetFirstName(const string Fir_Name);

employ&

SetLastName(const string Last_Name);

employ&

SetNumberID(const long Number);

virtual employ&

SetSalary(const long Salary);

const string&

GetFistName() const;

const string&

GetLastName() const;

const long&

GetNumberID() const;

virtual const long&

GetSalary() const;

virtual
void Show_Employy_Info();

private:
                 employ(const employ&

);


                 employ&

operator=(const employ&

);


                 string m_firstname;

string m_lastname;

long m_NumberID;

long m_Salary;

};

}
——————————————-
然后我们来测试一下这个系统:
——————————————–
//test.cpp
#include “employ.h”
using namespace My_Code;

int main()
{
employ m_employ;

string str1,str2;

long num,salary;

cout<<“请输入员工名字:n”;

cin>>str1>>str2;

cout<<“请输入员工工号:n”;

cin>>num;

cout<<“请输入员工工资:n”;

cin>>salary;

m_employ.SetFirstName(str1).SetLastName(str2).SetNumberID(num).SetSalary(salary).Show_Employy_Info();

return 0;

}
—————————————-
我们来测试一下:
第四十三讲 继承(1)
目前看来,我们的这个东西还是可行的,但是我想问大家这样做就够了吗?一个公司不但有普通员工,还有管理,管理又分经理和总监等等,不同级别的员工的工资水平当然不一样,那么我们该怎么做呢?我想大家可能注意到了,今天我们的界面里的多了一个奇怪的关键字:virtual,我们为什么要添加这个关键词呢?大家今天思考一下吧。明天我们再来细说这个关键字。
 

=======================

原文始发于微信公众号( C/C++的编程教室 ):第四十三讲 继承(1)|

发表评论