适合具备 C 语言基础的 C 教程(七)
扫描二维码
随时随地手机看文章
前言
在前面的教程中,阐述了继承的相关内容,其中就包括继承之后数据成员的访问控制以及多重继承,虚拟继承等内容,本节的内容即将阐述另外一个面向对象的特性:多态,多态是面向对象编程三大特性之一。
定义
如何通俗的话来解释多态呢?我们印出来这样一个例子:首先,我们说:人类用手吃饭是本能,而英国人是用刀叉吃饭,中国人则是用筷子吃饭,那现在有一个问题了,当我们问这个人是怎么吃饭的,就不能简单地回答说用筷子或者是用刀叉吃饭,应该根据其所在地国别不同而采用不同的吃饭方式,这就是多态。
代码实现
上述用通俗的话解释了一下,那么现在我们编写具体的代码来实现一下,上述中有人类,有英国人,有中国人,那么我们定义一个Human
类,然后 EnglishMan
和Chinese
都继承自Human
,代码如下所示:
class Human
紧接着,我们编写一下
{
public:
void eating(void) {cout << "use hand to eat" << endl;}
};
class EnglishMan : public Human
{
public:
void eating(void) {cout << "use knife to eat" << endl;}
};
class Chinese : public Human
{
public:
void eating(void) {cout << "use chopsticks to eat" << endl;}
};test
代码,代码如下所示:
void test_eating(Human