2017-04-02 15 views
-8

我想知道int main()函數是否被稱爲構造函數,因爲它幾乎與類的構造函數的作用相同?main()函數可以稱爲構造函數

如果是,那麼它屬於什麼類名?

編輯:我認爲main()與構造函數幾乎相同的原因是每當我們執行一個程序時,第一個被執行的東西就是主函數。同樣,一旦構造函數定義了一個變量與數據類型作爲用戶定義的類

+0

什麼...? 'main'不是構造函數......根本不是...... – Li357

+1

編號'int main()'不是構造函數(它不會構造**任何東西),它不屬於任何類。 –

+0

「幾乎和構造函數一樣工作」 - 以什麼方式?我沒有看到太多共同點,但如果你解釋爲什麼你認爲它們是相似的,它可能會幫助別人解釋爲什麼它們不是。 – Wyzard

回答

1

reference

main()「是命名主一個全局函數,這是該程序的指定的開始」。 [1]

所以這是一個類,而不是一個部件的方法,因此該方法的部分不能構造。請記住,C++是一種多參數語言。它包含一個面向對象的方法,但它並不需要它的功能。 Java或C#也是multiparadigm,但它們主要是基於類和OOP的。例如,在JavaC#需要對象創建一個「Hello World」程序。

2

可以main()函數調用構造函數

沒有

構造member-funtion。 A 成員函數不同來自非成員函數其中int main()是。

實際上,構造函數是一種特殊的成員函數,它沒有名字也沒有地址。這是負責創建對象。對象可以在程序中創建「無限」次數。

雖然main()是啓動程序的功能,你not permitted to call main() else you invoke Undefined Behavior

+1

加1以確定構造函數。 – 0xDEFACED

相關問題