C++11委托构造函数

C++11标准中,引入了委托构造函数的概念,允许一个构造函数调用同一个类的另一个构造函数来完成部分或全部的初始化工作。委托构造函数可以减少代码重复,并提高代码的可维护性。

在下面的示例代码中,简单介绍了如何利用委托构造函数来实现EventLoop类的构造函数:

#include <iostream>  
#include <string>  

class EventLoop {  
private:  
    std::string message;  

public:  
    // 委托构造函数,委托形参有字符串的构造函数进行构造  
    EventLoop() : EventLoop(std::string()) {  
    }  

    // 带字符串参数的构造函数  
    EventLoop(const std::string& msg) : message(msg) {  
        std::cout << "EventLoop constructed with message: " << message << std::endl;  
    }  
};  

int main() {  
    EventLoop event1("Hello, World!"); // 调用带字符串参数的构造函数  
    EventLoop event2; // 调用委托构造函数  

    return 0;  
}

在上面的示例代码中,EventLoop类包含了两个构造函数,一个是带字符串参数的构造函数,另一个是委托构造函数,通过调用带参数的构造函数完成初始化工作。

  • 当创建event1对象时,构造函数会调用带字符串参数的构造函数,传入"Hello, World!"来初始化message,并输出构造的信息。
  • 当创建event2对象时,委托构造函数会被调用,它通过调用另一个构造函数并传入一个空字符串来完成对象的初始化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值