c++ 派生类构造函数
    C++是一种面向对象的编程语言,提供了派生类(子类)的概念,允许我们在已有类的基础上进行扩展并添加新的行为和属性。派生类的构造函数是创建和初始化派生类对象时调用的函数。本文将介绍C++中派生类构造函数的概念、使用方法和注意事项。
    在C++中,每个类都有一个构造函数,用于创建和初始化该对象。派生类继承了基类的成员变量和成员函数,但是派生类需要自己的构造函数来初始化它自己的成员变量。派生类构造函数既可以调用基类构造函数来初始化基类成员变量,也可以初始化自己的成员变量。
    派生类构造函数有以下特点:
    1.派生类构造函数的函数名必须与类名相同。
    2.派生类构造函数必须在其成员初始化列表中调用基类构造函数。
    3.派生类构造函数只能直接或间接调用基类构造函数,不能调用基类的析构函数。
    二、派生类构造函数使用方法
析构方法
    1.调用基类构造函数
    派生类默认情况下会继承基类的构造函数,因此,派生类的构造函数需要在函数体前调用基类的构造函数,以初始化基类成员变量。调用基类构造函数的写法为 构造函数名::构造函数名(参数列表) : 基类构造函数名(参数列表)。例如下面的代码:
    ```
    class Base {
    public:
        Base(int n) {
            this->n = n;
        }
    protected:
        int n;
    };
    在上面的代码中,Derived继承了Base的属性和方法,但Base的构造函数需要通过Derived的构造函数进行调用。在Derived构造函数的函数体中,我们可以定义自己的成员变量,并为它们赋初值。
    2.初始化自己的成员变量
    除了要调用基类的构造函数外,派生类的构造函数还要初始化自己的成员变量。派生类构造函数的成员初始化列表用于初始化自身的成员变量。例如:
    在上面的代码中,Derived类有一个名为m的私有成员变量,会在Derived的构造函数中被初始化。
    1.在执行派生类构造函数时,如果基类和派生类都有默认构造函数,则默认情况下会先调用基类的默认构造函数,再调用派生类的默认构造函数。如果基类没有默认构造函数,则需要手动调用基类的构造函数。
    2.如果有多个基类,则需要在成员初始化列表中按照它们的顺序依次构造。
    3.在构造函数中,派生类的成员变量初始化顺序与它们在类中声明的顺序相同。
    5.不能直接调用父类的 private 成员函数和成员变量,包括构造函数和析构函数,只能调用其 public 方法和成员变量。
    总结