簡體   English   中英

吸氣和二傳手vs FRIEND_TEST

[英]Getters and Setters vs FRIEND_TEST

我知道這對UT來說不是很好的課程設計,但是...

如果有需要測試的受保護變量,那么僅使用FRIEND_TEST在測試中獲取/設置這些變量會更好嗎? 還是應該為每個變量創建getter和setter方法?

例如

class Dog
{
public:
//some methods

protected:
   int age;
   std::string color;
   std::string breed
}

聲明FRIEND_TEST不需要太多開銷,這與我將為每個== 6個新方法創建getter和setter的方法不同! 但是,更正確的解決方案是什么?

如果您只需要一個班級即可訪問您的受保護成員,請使用好友班級。 這是C ++中的絕對規則。

在類中添加getter和setter只會增加開銷,在最佳情況下,編譯器會刪除它。

如果您想要有關朋友課程的更多信息, 鏈接將非常有用。

  1. FREIND_TEST不是一個好的解決方案,因為您無法真正控制誰可以訪問受保護的成員。
  2. 您可以將被測試的類定義為測試器類的內部類。 僅在測試版本上啟用此嵌套。

暫無
暫無

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

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