C++学习笔记5——类的继承

简介:

  通过继承联系在以前的类构成一种层次关系。通常在层次关系的根部有一个基类,其他类则直接或间接地从基类继承,这些继承得到的类称为类的派生类

作用:

  1、子类拥有父类的所有成员函数和成员变量。

  2、子类可以拥有父类没有的成员函数和成员变量。

  3、子类是一种特殊的父类。

  4、子类对象可以当父类对象使用。

    4.1、父类指针指向子类对象。

    4.2、子类对象初始化父类对象。

 

继承中的构造/析构函数的初始化顺序:

  父类构造函数->组合类构造函数->子类构造函数->子类析构函数->组合类构造函数->父类析构函数

 

派生类的访问控制:

  1、public继承:父类成员在子类中保持原有访问级别

  2、private继承:父类成员在子类中变为private成员

  3、protected继承:父类中public成员会变成protected

              父类中protected成员仍然为protected

              父类中private成员仍然为private

Demo:

#include <iostream>
using namespace std;

class Base
{
public:
    void print(void)
    {
        cout << "Base" << endl;
    }
};

class Derived : public Base
{
public:
    void print(void)
    {
        cout << "Derived" << endl;
    }
};

class Base2 final //防止继承的发生
{
public:

};

int main(int argc, char **argv)
{
    Derived der;
    Base *pbase = &der;  //父类指针指向子类对象
    pbase->print();

    Base base = der;    //子类对象初始化父类对象
    base.print();

    der.print();        //当成员函数名一致时,默认使用子类
    der.Base::print();  //使用父类print()
    system("pause");
}

 

posted on 2015-10-04 19:44  微末凡尘12138  阅读(310)  评论(0编辑  收藏  举报

导航