1. 程式人生 > >C++11標準---委託建構函式

C++11標準---委託建構函式

委託建構函式

1.概念:一個委託建構函式通過所屬類的其它建構函式執行自己的初始化功能,或者是說把自己的職責委託給了其它建構函式去完成

2.格式

  • 與成員初始化列表初始化成員變數類似,在建構函式後面用:號連線一個建構函式

下面的例項中,兩個委託建構函式把自己的職責交給了其他建構函式去完成,即使委託建構函式

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);//執行了委託的建構函式
}

3.委託建構函式的執行順序

  • 先執行委託建構函式內部的程式碼,再執行自己委託的建構函式