C++ 的继承

#include <iostream>

using namespace std;


class Base {
public:
    Base();
};

class derived :public Base {

};

Base::Base()
{
    cout << "This is base" << endl;
}

int main()
{
    derived obj;


    return 0;
}
#include <iostream>

using namespace std;


class Base {
public:
    Base()
    {
        cout << "This is base" << endl;
    }
};

class derived :public Base {

};


int main()
{
    derived obj;

    return 0;
}

 

两段代码效果都是一样的,唯一区别就是构造函数的位置。 最后都是打印"This is a base"

 

 考虑一组车辆。您需要为公交车,汽车和卡车创建类。对于这三个类,方法fuelAmount(),capacity(),applyBrakes()都将相同。如果我们创建这些类以避免继承,则必须在三个类的每一个中编写所有这些函数,如下图所示:

遗产

 

您可以清楚地看到,上述过程导致相同代码重复3次。这增加了错误和数据冗余的机会。为了避免这种情况,将使用继承。如果我们创建一个Vehicle类并在其中编写这三个函数,并从Vehicle类继承其余类,那么我们可以简单地避免数据重复并提高可重用性。请看下图,其中三个类是从车辆类 继承的使用继承,我们必须仅一次编写函数,而不必编写三次函数,因为我们从基类(Vehicle)继承了其余三个类。

继承2

 

另附:一篇很好的文章: https://www.geeksforgeeks.org/inheritance-in-c/

posted @ 2020-01-01 16:19  strive-sun  阅读(17)  评论(0编辑  收藏  举报