继承(Inheritance)

来源:互联网 发布:取消数据流量套餐 编辑:程序博客网 时间:2024/06/05 08:43

当代的面向对象语言(object-oriented, OO )为提高代码的设计,结构和可重用性,提供了封装(encapsulation),继承(inheritance)和多态(polymorphism). 今天,我们来看看继承在C++中的使用。

雇员的例子

以下是几种不同类型的雇员

  • 普通员工
  • 项目经理
  • 总监

雇员类

.h

class employee{public: employee(string name, float payrate); string get_name() const; float get_payrate() const; float pay(float hours_worked) const;protected: string name; float payrate;};


.cc

employee::employee(string name, float payrate){this->this->name = name;this->this->payrate = payrate;}string employee::get_name() const{return name;}float employee::get_payrate() const{return payrate;}float employee::pay(float hours_worked) const{return hours_worked * payrate;}


当输入:
Employee empl("John Burke", 25.0);
输出为:

// Print out name and pay (based on 40 hours work).cout << "Name: " << empl.get_name() << endl;cout << "Pay: " << empl.pay(40.0) << endl;


Multiple Types of the Same Thing

在现实世界中,我们并不是把所有事物都看作是独一无二的,有时,我们把一些事物与另一些事物看作十分相似,除了一些小差异。


0 0