溫馨提示×

C++類的繼承構造函數調用

c++
小樊
110
2024-10-31 10:40:54
欄目: 編程語言

在C++中,當使用繼承時,基類(父類)的構造函數會在派生類(子類)的構造函數體執行之前被調用。這是為了確?;惖某蓡T變量和方法在派生類對象創建時已經初始化。

以下是一個簡單的例子,展示了如何在C++中使用繼承和構造函數調用:

#include <iostream>

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

// 派生類
class Derived : public Base {
public:
    Derived() {
        std::cout << "Derived constructor called" << std::endl;
    }
};

int main() {
    Derived d; // 當創建Derived類的對象時,首先調用Base類的構造函數,然后調用Derived類的構造函數
    return 0;
}

在這個例子中,當我們創建一個Derived類的對象時,首先會調用Base類的構造函數,然后調用Derived類的構造函數。輸出結果如下:

Base constructor called
Derived constructor called

注意,如果在基類構造函數中調用了虛函數,那么在派生類構造函數中調用該虛函數時,將不會表現出多態性。這是因為基類構造函數在派生類構造函數之前執行,此時派生類的部分尚未初始化。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女