【求助】關(guān)于打印結(jié)果順序的問(wèn)題
代碼和視頻中的代碼一樣,就是對(duì)打印的結(jié)果順序有疑問(wèn)。
結(jié)果中的“~Line”
對(duì)應(yīng)代碼是“cout << "~Line()" << endl;”
結(jié)果中的“printInof()
? ? ? ? ? ? ? ? ?(1,2)
? ? ? ? ? ? ? ? ? (3,4)”
對(duì)應(yīng)的代碼是:
“cout << "printInfo()" << endl;
cout << "(" << m_pCoorA->getX() << "," << m_pCoorA->getY() << ")" << endl;
cout << "(" << m_pCoorB->getX() << "," << m_pCoorB->getY() << ")" << endl;“
“~Line”的cout打印出來(lái)的,而且其代碼位置在上面,為什么打印出后卻排在了后面?
2019-08-05
構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序相反,可以回去看看講這個(gè)視頻
2019-09-01
請(qǐng)看兩者執(zhí)行順序。
注意函數(shù)的執(zhí)行順序,析構(gòu)函數(shù)是最后才調(diào)用的
寧外請(qǐng)注意:
對(duì)象成員如果無(wú)默認(rèn)構(gòu)造函數(shù)則必須在當(dāng)前對(duì)象構(gòu)造函數(shù)后使用初始化列表進(jìn)行初始化,此時(shí)構(gòu)造函數(shù)順序?yàn)閷?duì)象成員的構(gòu)造函數(shù)coordinate,當(dāng)前對(duì)象的構(gòu)造函數(shù)line。
對(duì)象成員指針,則應(yīng)該在當(dāng)前對(duì)象的構(gòu)造函數(shù)中調(diào)用本身的構(gòu)造函數(shù)初始化,此時(shí)構(gòu)造函數(shù)調(diào)用順序?yàn)楫?dāng)前對(duì)象的構(gòu)造函數(shù)line,對(duì)象成員指針的構(gòu)造函數(shù)coordinate。