在 C++ 派生类中,通过 'super()' 调用父类中的构造函数。

'super()' 是一个特殊的函数,用于在派生类构造函数中调用父类的构造函数。它必须作为派生类构造函数的第一条语句出现。

示例:

class Base {
public:
    Base(int value) : value(value) {}
    int value;
};

class Derived : public Base {
public:
    Derived(int value1, int value2) : Base(value1), value2(value2) {}
    int value2;
};

在上面的示例中,'Derived' 类继承自 'Base' 类。'Derived' 类的构造函数首先使用 'super()' 调用 'Base' 类的构造函数,并将 'value1' 传递给它。然后,它初始化 'Derived' 类自己的成员变量 'value2'。

注意事项:

  • 如果派生类构造函数没有显式调用 'super()',则会隐式调用父类无参构造函数。
  • 如果父类没有无参构造函数,则派生类必须显式调用父类的其他构造函数。
  • 'super()' 只能在派生类构造函数中使用。

使用 'super()' 可以确保在创建派生类对象时,父类的构造函数被正确调用,从而确保父类成员变量的正确初始化。

C++ 派生类中调用父类构造函数:super() 方法

原文地址: https://www.cveoy.top/t/topic/oL9G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录