gpt4 book ai didi

c++ - 如何访问私有(private)变量?

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:18 25 4
gpt4 key购买 nike

这个问题听起来并不像现在这样公然侮辱。

这是一项家庭作业,规范表很少,至少可以说设计很差。我们有一个函数:

double refuel( int liter, GasStation *gs )
{
// TODO: Access private variable MaxFuel of gs and decrement.
}

听起来很简单?应该是,但是 GasStation 类没有访问私有(private)变量 MaxFuel 的函数。那么我怎样才能使用函数 refuel 访问它呢?

我不考虑创建一个函数 setFuel( int liter ) 因为如果我改变了他的规范,老师总是非常积极地提示。所以...我想我必须对其进行一些破解,但我不确定如何在不明确更改 GasStation 中的唯一函数并为其提供参数以便我可以在此处调用它的情况下进行此操作。

有什么提示吗?

最佳答案

现在这听起来像是一项真正糟糕的家庭作业。

反正我能想到三种访问私有(private)数据的方法:

  1. 通过公共(public)成员函数
  2. 类(class)的 friend
  3. 作弊:

    #define private public 
    #include "the_class.h"
    #undef private

前两个是合法的,但需要您更改类。最后一个是“非侵入式”(对于“非侵入式”的某些定义,无论如何),但绝对是非法的(尽管我还没有看到编译器它不会工作)。

关于c++ - 如何访问私有(private)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com