温馨提示×

c++默认构造函数能进行继承吗

c++
小樊
81
2024-11-21 09:17:13
栏目: 编程语言

C++ 默认构造函数(Default Constructor)是可以被继承的。当一个类没有定义任何构造函数时,编译器会自动为其提供一个默认构造函数。这个默认构造函数会调用基类的默认构造函数来初始化基类部分。

当派生类继承基类时,如果派生类没有定义任何构造函数,编译器会自动为其提供一个默认构造函数。这个默认构造函数会调用基类的默认构造函数来初始化基类部分。如果派生类定义了其他构造函数,但没有显式调用基类的构造函数,编译器会自动插入一个对基类默认构造函数的调用。

以下是一个简单的例子,展示了继承默认构造函数的情况:

#include <iostream>

class Base {
public:
    Base() {
        std::cout << "Base default constructor called" << std::endl;
    }
};

class Derived : public Base {
public:
    // 使用默认构造函数继承 Base 类
    Derived() {
        std::cout << "Derived default constructor called" << std::endl;
    }
};

int main() {
    Derived d; // 调用 Derived 类的默认构造函数,间接调用 Base 类的默认构造函数
    return 0;
}

输出结果:

Base default constructor called
Derived default constructor called

0