簡體   English   中英

有助於理解構造函數,運算符重載,析構函數等

[英]A bit of help understanding constructors, operator overloads, destructors, etc

所以我是C ++初學者,我有一個問題。

假設我們有一個班級成績。

根據我到目前為止所學到的,析構函數看起來像

~Grades();

復制構造函數:

Grades(const Grades & );

<<操作符:

ostream & operator << (ostream & os, const Grades & g);

這些正確嗎?

常規構造函數的外觀如何? 轉換構造函數呢?

編譯器提供的常規默認構造函數如下所示,如果它是從任何類派生的,它將在內部調用base class構造函數。 然后,對於具有用戶定義類型的數據成員,它將按其聲明順序調用其各自的默認構造函數。

Grades();

轉換構造函數是您必須定義的東西,它們看起來像

Grade(const T&)

如果要轉換功能,

 Grade operator=(const T&)

您可能擁有的唯一destructor是,如果用戶定義了數據成員,則通過調用相應的destructors函數對對象進行反初始化,然后針對基類,以與默認編譯器提供的構造函數所提供的完全相反的順序進行調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM