C ++中的public / private

时间:2016-02-22 20:41:48

标签: c++ class c++11

我正在开发一个C ++项目,其中主要是说private/public在实践中无关紧要,因此所有类应该只有public个成员。基本上,他只希望C ++使用struct

他的主要论点是巨大的代码库是用C语言编写的,没有private,并且通过private关键字在这些代码库中没有阻止任何错误,为什么还要麻烦?

我反驳说private状态是更清晰的模块化,它使代码更易于推理,更容易测试,更容易重构,我可以编写断言以使{{1状态,不同的团队可以通过同意类的接口来独立工作,但似乎没有什么能说服他。

在讨论中,对于具有私有成员的struct / class,纯粹的技术/客观论点是什么?这是一个给定的没有通用的答案,但我想列出我可以用来评估在任何给定情况下使用哪一个的所有客观论点。在给定情况参数的情况下,我们可以达成一致的合理指导方针,或分析网格,告诉我们使用哪一个。我想从个人偏好中明确指出,因为对个人偏好的讨论可能效率不高。

特别有用的是看一些具体的例子来证明每个人在特定情况下的利弊。

1 个答案:

答案 0 :(得分:3)

我的回答是,"不,没有什么可补充的。"正如你所说,他已经驳回了很多理由。也许他对自己认识到代码可以在没有任何私人成员的情况下工作感到高兴,因此他很顽固。我不知道。

结构很有意义,但是那些维护代码的人(比如我)知道封装确实改进了设计。