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

Posted

技术标签:

【中文标题】如何在成员函数 #2 中访问成员函数 #1 中的变量?【英文标题】:How do I access a variable in member function #1 in member function #2? 【发布时间】: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”未在此范围内声明

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

【问题讨论】:

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

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

class timeOff

 public:
  void setMaxSickDays(int days);
  int getMaxSickDays();
 private:
  int maxSickDays;
;

【讨论】:

【参考方案2】:

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

见friend declaration

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

【讨论】:

@downvoter 哪一部分错了,请告诉我!

以上是关于如何在成员函数 #2 中访问成员函数 #1 中的变量?的主要内容,如果未能解决你的问题,请参考以下文章

在c++中的继承,如何在子类中重载成员函数

关于类中静态成员函数和静态成员变量的知识点

实验五——类的多态,继承和派生2

如何访问不在基类中的派生类中的 STL 类的成员函数? (正文中的详细解释)

如何访问传递给 MEX 函数的矩阵成员?

访问包含在数组中的指向类对象的类成员函数的正确语法是啥?