【发布时间】:2011-03-02 09:13:53
【问题描述】:
这个问题听起来并不像现在这样公然侮辱。
这是一项家庭作业,至少可以说规格表稀缺且设计不佳。我们有一个函数:
double refuel( int liter, GasStation *gs )
{
// TODO: Access private variable MaxFuel of gs and decrement.
}
听起来很简单?应该是,但是 GasStation 类没有访问私有变量 MaxFuel 的函数。那么我如何使用 refuel 函数访问它呢?
我不考虑创建一个函数setFuel( int liter ),因为如果我更改他的规范,老师总是会非常积极地抱怨。所以......我想我必须围绕它做一些破解,但我不确定如何在不明确更改 GasStation 中唯一的函数并给它一个参数的情况下解决这个问题,以便我可以在这里调用它。
也许有任何提示?
【问题讨论】:
-
私有变量被设计为不被访问。这是什么作业!
-
让我直说。简而言之,您的任务是,给定一个您无法更改的具体类,从类定义之外专门访问和修改一个没有访问器的私有成员?
-
记住孩子:只有朋友可以触摸你的私处。
-
这个教练需要被龙骨牵引。
-
好吧,阅读 Herb Sutter 的看法 @gotw.ca/gotw/076.htm;尤其是“语言律师解决方案”:-)