这个问题并不意味着听起来像现在可能是侮辱性的.
这是一个家庭作业,规格表很少,设计很差,至少可以说.我们有一个功能:
double refuel( int liter, GasStation *gs )
{
// TODO: Access private variable MaxFuel of gs and decrement.
}
Run Code Online (Sandbox Code Playgroud)
声音够简单?它应该是,但GasStation类没有访问私有变量MaxFuel的功能.那么我怎样才能使用函数加油来访问它?
我不打算创建一个函数,setFuel( int liter )因为如果我改变他的规范,老师总是抱怨相当有力.所以...我想我必须做一些破解,但是我不知道如何在没有明确改变GasStation中的唯一功能并给它一个参数的情况下解决这个问题,这样我就可以在这里调用它.
或许任何提示?
sbi*_*sbi 16
现在这听起来像一个真正糟糕的家庭作业.
无论如何,我可以想到三种访问私有数据的方法:
friend班级作弊:
#define private public
#include "the_class.h"
#undef private
Run Code Online (Sandbox Code Playgroud)前两个是合法的,但要求你改变课程.最后一个是"非侵入式"(对于某些"非侵入性"的定义,无论如何),但绝对是非法的(虽然我还没有看到编译器它不起作用).
| 归档时间: |
|
| 查看次数: |
15194 次 |
| 最近记录: |