当前位置:首页 > 嵌入式 > wenzi嵌入式软件
[导读]本文将阐述另外一个面向对象的特性:多态,多态是面向对象编程三大特性之一。

前言

在前面的教程中,阐述了继承的相关内容,其中就包括继承之后数据成员的访问控制以及多重继承,虚拟继承等内容,本节的内容即将阐述另外一个面向对象的特性:多态,多态是面向对象编程三大特性之一。

定义

如何通俗的话来解释多态呢?我们印出来这样一个例子:首先,我们说:人类用手吃饭是本能,而英国人是用刀叉吃饭,中国人则是用筷子吃饭,那现在有一个问题了,当我们问这个人是怎么吃饭的,就不能简单地回答说用筷子或者是用刀叉吃饭,应该根据其所在地国别不同而采用不同的吃饭方式,这就是多态。

代码实现

上述用通俗的话解释了一下,那么现在我们编写具体的代码来实现一下,上述中有人类,有英国人,有中国人,那么我们定义一个Human类,然后 EnglishManChinese都继承自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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭