相关疑难解决方法(0)

我可以在不使用朋友的情况下从课外访问私人会员吗?

放弃

是的,我完全清楚我所询问的内容是完全愚蠢的,任何想要在生产代码中尝试这样的事情的人都应该被解雇和/或开枪.我主要是想看看是否可以做到.

现在已经不在了,有没有办法从类外部访问C++中的私有类成员?例如,有没有办法用指针偏移来做到这一点?

(天真和其他非生产准备技术欢迎)

更新

正如评论中所指出的,我问了这个问题,因为我想写一篇关于过度封装的博客文章(以及它如何影响TDD).我想看看是否有办法说"使用私有变量不是100%可靠的方法来强制封装,即使在C++中也是如此." 最后,我决定更多地关注如何解决问题,而不是为什么这是一个问题,所以我没有像我原先计划的那样突出显示这里提到的一些东西,但我还是留下了一个链接.

无论如何,如果有人对它的出现感兴趣,那么它就是: 测试驱动开发的敌人第一部分:封装(我建议在你决定我疯了之前阅读它).

c++ encapsulation private-members

64
推荐指数
8
解决办法
6万
查看次数

什么使代码遗产?

我听说很多开发人员将代码称为"遗留".大多数情况下,代码是由不再在项目上工作的人编写的.是什么让代码,遗留代码?

更新回应:"从祖先或前任或过去传下来的东西" http://www.thefreedictionary.com/legacy.显然你想知道其他的东西.你能澄清或扩展你的问题吗?美国洛特

我正在寻找遗留代码的症状,使其无法使用或使用噩梦.什么时候扔掉它更好?我认为应该更频繁地抛弃代码,重新发明轮子是开发的宝贵部分.不重新发明轮子的学术理想是一个很好的理想,但它不是很实用.

另一方面,显然遗留的代码值得保留.

legacy

41
推荐指数
12
解决办法
5377
查看次数

为什么c ++允许指针,如果它们可以产生访问私有成员等问题?

我已经阅读了有关c ++指针及其缺陷的内容,其中之一是可以使用此处和此处提到的指针黑客访问其他类对象的私有数据成员.当然,c ++中的指针为语言提供了很大的灵活性,但如果它能阻碍数据隐藏等语言的核心OOP功能,它的用途是什么?这真的是安全性和灵活性之间的权衡吗?

c++ oop pointers private

-5
推荐指数
1
解决办法
106
查看次数

标签 统计

c++ ×2

encapsulation ×1

legacy ×1

oop ×1

pointers ×1

private ×1

private-members ×1