首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Getter和Setters vs FRIEND_TEST

Getter和Setters vs FRIEND_TEST
EN

Stack Overflow用户
提问于 2019-07-25 05:36:56
回答 2查看 557关注 0票数 0

我知道这对UT来说不是很好的课程设计但是..。

如果有需要测试的受保护变量,那么使用FRIEND_TEST来获得/设置这些变量测试会更好吗?或者我应该创建getter和setter(对于每个变量!)?

例如。

代码语言:javascript
复制
class Dog
{
public:
//some methods

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

声明一个FRIEND_TEST不需要太多开销,不像我要为每个== 6新方法创建getter和setter那样!但更正确的解决办法是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-25 08:57:29

如果只需要一个类就可以访问受保护的成员,请使用“朋友”类。这是C++中的一个绝对规则。

向类添加getter和setter只会增加开销,在最好的情况下,编译器将删除它。

如果您想了解更多关于朋友类的信息,this链接将非常有用。

票数 2
EN

Stack Overflow用户

发布于 2019-07-25 05:43:27

  1. FREIND_TEST不是一个好的解决方案,因为您没有真正的控制谁可以访问受保护的成员。
  2. 您可以将测试类定义为测试类的内部类。只在测试版本上启用此嵌套。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57194980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档