• 概念:一个委托构造函数通过所属类的其它构造函数执行自己的初始化功能,或者是说把自己的职责委托给了其它构造函数去完成
  • 格式:
    • 与成员初始化列表初始化成员变量类似,在构造函数后面用:号连接一个构造函数
  • 下面的实例中,两个委托构造函数把自己的职责交给了其他构造函数去完成,即是委托构造函数
class Person
{
private:
    int m_age;
    float m_height;
public:
    Person(int age,float height)
    {
        m_age=age;
        m_height=height;
    }

    Person():Person(18,176){}//此种就是一种委托构造函数
    Person(int age):Person(age,176){}//此种也是委托构造函数
}
int main()
{
    Person p1;//执行了委托的构造函数
    Person p2(18);//执行了委托的构造函数
}
  • 委托构造函数的执行顺序:
    • 先执行委托构造函数内部的代码,再执行自己委托的构造函数