亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中在什么時候使用class

發布時間:2021-11-26 15:34:19 來源:億速云 閱讀:240 作者:iii 欄目:大數據

本篇內容介紹了“C++中在什么時候使用class”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

C.2:類包含不變式是使用class定義類,如果數據成員可以獨立變更時使用struct定義類。

譯者注:不變式可以認為是類的成員必須滿足的條件。例如對于std::string來說,長度成員必須等于其管理的字符串長度。

Reason(原因)

可讀性。降低理解難度。使用class關鍵字讓程序員意識到需要不變式。這是一個有用的慣例。

譯者注:使用class關鍵字還默認保證了數據成員不會被隨意修改,這使維持不變式成為可能。

Note(注意)

不變式是一個對象的成員必須滿足的邏輯條件,這些條件由構造函數建立,是public成員函數的前提條件。一旦不變式成立(通常是由構造函數),該對象所有成員函數都可以被調用。不變式可以被非正式的說明(例如通過注釋),或者通過Expects(事前條件)正式檢查。

如果所有數據成員都可以相互獨立地變更,則不可能存在不變式。

Example(示例)

struct Pair {  // the members can vary independently    string name;    int volume;
};

but:

class Date {public:    // validate that {yy, mm, dd} is a valid date and initialize    Date(int yy, Month mm, char dd);    // ...private:    int y;    Month m;    char d;    // day};

譯者注:這個例子的不變式是年月日的組合必須有效。

Note(注意)

如果一個類包含私有數據成員,使用者就不能在不使用構造函數的情況下完全初始化該類的對象。因此,類的定義者在提供構造函數的同時,必須定義其含義。這實際上意味著定義者需要定義不變式。

See also(參見):

  • define a class with private data as class

    使用class關鍵字定義包含私有數據的類。

  • Prefer to place the interface first in a class

    推薦在類的最初定義接口

  • minimize exposure of members

    最小限度暴露成員

  • Avoid protected data

    避免protected類型數據

Enforcement(實施建議)

Look for structs with all data private and classes with public members.

找到所有數據都被定義為私有的結構體和包含公有成員(應為數據成員,譯者注)的類。

譯者注:所謂原則就是不需要深入思考就可以執行,而效果卻會逐漸顯現的那些良好實踐。

“C++中在什么時候使用class”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲阜市| 淄博市| 东莞市| 中西区| 延庆县| 同德县| 全州县| 东丽区| 蕲春县| 莫力| 淳安县| 宁武县| 岗巴县| 林西县| 册亨县| 井陉县| 资兴市| 济南市| 清镇市| 丁青县| 敦煌市| 巴彦县| 新疆| 余姚市| 茌平县| 江门市| 夏津县| 通榆县| 象山县| 观塘区| 年辖:市辖区| 沙河市| 江口县| 当涂县| 大石桥市| 青河县| 蕉岭县| 疏附县| 保靖县| 葫芦岛市| 桂平市|