【问题标题】:How do I access a variable in member function #1 in member function #2?如何在成员函数 #2 中访问成员函数 #1 中的变量?
【发布时间】:2016-02-22 08:21:16
【问题描述】:

我开始和班上的朋友一起工作。 这里我有两个函数叫做 setMaxSickDays 和 getMaxSickDays。 我在 setMaxSickDays 中创建了一个名为 maxSickDays 的变量,我想从 getMaxSickDays 访问它。

class timeOff
{
public:
    void setMaxSickDays(numDays &friendlyObject) {  
        int maxSickDays;                         
        friendlyObject.hours = 240;
        maxSickDays = friendlyObject.hours;
    }

    void getMaxSickDays(numDays &friendlyObject) {
        cout << maxSickDays;
    }
};

错误:“maxSickDays”未在此范围内声明

这可能看起来很愚蠢,但我是初学者。谢谢!

【问题讨论】:

  • 先缩进代码
  • 不要编辑您的问题以将其标记为已解决,而是通过单击旁边的复选标记来接受您认为最有帮助的答案。

标签: c++ class object friend


【解决方案1】:

你让maxSickDays成为你班级的数据成员。

class timeOff
{
 public:
  void setMaxSickDays(int days);
  int getMaxSickDays();
 private:
  int maxSickDays;
};

【讨论】:

    【解决方案2】:

    你不能访问另一个函数的局部变量,即使是friendfriend 用于授予访问类的成员(即成员变量或函数)的权限。

    friend declaration

    友元声明出现在类主体中,并授予函数或其他类访问友元声明出现的类的私有和受保护成员的权限。

    【讨论】:

    • @downvoter 哪一部分错了,请告诉我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 2013-10-17
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多