C++ 派生类中调用父类构造函数:super() 方法
在 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()' 可以确保在创建派生类对象时,父类的构造函数被正确调用,从而确保父类成员变量的正确初始化。
原文地址: https://www.cveoy.top/t/topic/oL9G 著作权归作者所有。请勿转载和采集!