MST

星途 面试题库

面试题:C++ 中构造函数委托构造的基本用法

请解释 C++ 中构造函数委托构造的概念,并编写一个简单的类,其中至少包含两个构造函数,一个构造函数委托另一个构造函数进行初始化操作。
36.7万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

构造函数委托构造是指在C++ 11及以后的标准中,一个构造函数可以调用同一个类的其他构造函数来完成部分或全部的初始化工作。这样可以避免在多个构造函数中重复编写相同的初始化代码,提高代码的可维护性和简洁性。

以下是一个包含构造函数委托的简单类示例:

class Example {
private:
    int value1;
    int value2;
public:
    // 基础构造函数
    Example(int v1) : value1(v1), value2(0) {}

    // 委托构造函数
    Example(int v1, int v2) : Example(v1) {
        value2 = v2;
    }

    void printValues() {
        std::cout << "Value1: " << value1 << ", Value2: " << value2 << std::endl;
    }
};

在上述代码中,Example(int v1, int v2) 构造函数委托了 Example(int v1) 构造函数进行 value1 的初始化,然后再自己初始化 value2