如何继承员工类创建厨师和服务员类?
时间: 2024-06-03 08:05:24 浏览: 130
一个用于创建服务的类
继承是面向对象编程中的一个重要特性,它可以让子类(派生类)继承父类(基类)的属性和方法。在继承中,子类可以直接使用父类的方法,也可以通过覆盖或者重写父类的方法来实现自己的功能。
假设我们已经有了一个基类 Employee,现在需要创建 Chef(厨师)和 Waiter(服务员)这两个派生类。那么我们可以通过继承来实现这个过程。
在 C++ 中,继承语法如下所示:
```
class DerivedClass : accessSpecifier BaseClass {
// derived class members
};
```
其中,accessSpecifier 可以是 public、protected 或者 private,表示派生类对基类成员的访问权限。如果不指定,默认为 private。
在我们的例子中,可以这样定义 Chef 和 Waiter 类:
```
// 定义 Employee 基类
class Employee {
public:
string name;
int age;
float salary;
virtual void work() {}
};
// 定义 Chef 类,继承自 Employee
class Chef : public Employee {
public:
void cook() {
// 厨师的工作内容
}
};
// 定义 Waiter 类,继承自 Employee
class Waiter : public Employee {
public:
void serve() {
// 服务员的工作内容
}
};
```
上述代码中,Chef 和 Waiter 都继承了 Employee 基类,并且分别定义了自己的工作内容。
需要注意的是,在 Employee 类中定义了一个虚函数 work(),这是为了方便后面在多态性方面的应用。如果需要在 Chef 或 Waiter 类中重写 work() 函数,可以直接在派生类中重新定义该函数即可。
阅读全文