c++

C++类的继承成员初始化列表

小樊
83
2024-10-31 10:49:55
栏目: 编程语言

在C++中,类的继承成员初始化列表是一种在派生类构造函数中初始化基类成员的特殊语法。使用成员初始化列表可以确保基类成员在派生类对象创建时正确初始化,同时还可以提高性能,因为它可以直接调用基类的构造函数,而不需要先创建一个临时对象。

成员初始化列表的语法如下:

class DerivedClass : AccessSpecifier BaseClass {
    // DerivedClass 成员
};

DerivedClass::DerivedClass() : BaseClass(arguments) {
    // DerivedClass 成员初始化
}

其中,DerivedClass 是派生类,BaseClass 是基类,arguments 是传递给基类构造函数的参数。

以下是一个简单的示例:

#include <iostream>

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

private:
    int value;
};

class Derived : public Base {
public:
    Derived(int x, int y) : Base(x), derivedValue(y) {
        std::cout << "Derived constructor called with derivedValue: " << derivedValue << std::endl;
    }

private:
    int derivedValue;
};

int main() {
    Derived d(10, 20);
    return 0;
}

在这个示例中,Derived 类继承自 Base 类,并在其构造函数的成员初始化列表中调用了基类的构造函数。这样可以确保 Base 类的成员 valueDerived 类对象创建时正确初始化。

0
看了该问题的人还看了