如何在成员函数#2中访问成员函数#1中的变量?

时间:2016-02-22 08:21:16

标签: c++ class object friend

我开始和班级的朋友一起工作。 这里我有两个函数叫做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'未在此范围内声明

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

2 个答案:

答案 0 :(得分:5)

您使maxSickDays成为班级的数据成员。

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

答案 1 :(得分:3)

即使friend,也无法访问其他函数的局部变量。 friend用于授予访问类的成员(即成员变量或函数)。

请参阅friend declaration

  

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