在C++中,当创建一个派生类对象时,基类的构造函数会在派生类对象构造之前被调用。你可以通过以下几种方式调用基类构造函数:
base_class_name()
来调用它。例如:class Base {
public:
Base() {
// 基类构造函数实现
}
};
class Derived : public Base {
public:
Derived() : Base() { // 调用基类默认构造函数
// 派生类构造函数实现
}
};
class Base {
public:
Base(int x) {
// 基类构造函数实现
}
};
class Derived : public Base {
public:
Derived(int x) : Base(x) { // 调用基类带参数的构造函数
// 派生类构造函数实现
}
};
using
声明来继承基类的构造函数。例如:class Base {
public:
Base() {
// 基类构造函数实现
}
Base(int x) {
// 基类带参数构造函数实现
}
};
class Derived : public Base {
public:
using Base::Base; // 继承基类的所有构造函数
};
这样,Derived
类就会继承Base
类的所有构造函数,可以直接使用Derived()
和Derived(int x)
来创建派生类对象。