[英]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.