【发布时间】:2012-01-25 18:13:06
【问题描述】:
我需要从 DLL 访问一个对象,对该对象进行一些操作并将该对象提供给另一个函数。问题是我需要更改的字段是私有的。
我不想更改原始类中字段的私有修饰符,因为该类是很久以前编写的,并且在很多地方都使用过。但是,在我操作类的地方,我需要大多数没有保护的字段(这是一个 hack)。最好的方法是什么?
注意:我不能更改原来的类
【问题讨论】:
-
你所说的“这是一个黑客”是什么意思?如果您想在外部修改私有字段,您描述的方式看起来好像完全错误地处理了这个问题。
-
@templatetypedef-根据原始设计,不应访问字段,即使现在也是如此。但是我们现在有了一个新的 dll,并且以当前格式将对象传递给 dll 需要对 DLL 代码进行大量更改,这是我们想要避免的。
-
@confusedcoder:如果你不能修改类,这不能(安全/便携)完成。
标签: c++ class private-members