溫馨提示×

C++成員初始化列表怎樣處理繼承關系

c++
小樊
81
2024-11-09 03:43:30
欄目: 編程語言

在C++中,成員初始化列表主要用于初始化類的成員變量。當處理繼承關系時,成員初始化列表可以確保基類和派生類的成員變量都被正確初始化。以下是一個簡單的例子,展示了如何使用成員初始化列表處理繼承關系:

#include <iostream>

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

protected:
    int value;
};

class Derived : public Base {
public:
    Derived() : Base(), derivedValue(42) {
        std::cout << "Derived constructor called" << std::endl;
    }

private:
    int derivedValue;
};

int main() {
    Derived d;
    return 0;
}

在這個例子中,我們有一個基類Base和一個派生類Derived?;愑幸粋€成員變量value,派生類有一個成員變量derivedValue。我們在派生類的構造函數(shù)中使用成員初始化列表來初始化這兩個成員變量。

當創(chuàng)建一個Derived類的對象時,首先會調用基類的構造函數(shù),然后調用派生類的構造函數(shù)。在這個例子中,輸出將如下:

Base constructor called
Derived constructor called

這表明基類和派生類的構造函數(shù)都已經被正確調用,成員變量也被正確初始化。

0