如何在成员函数#2 中访问成员函数#1 中的变量?
How do I access a variable in member function #1 in member function #2?
我开始与 类 的朋友一起工作。
这里我有两个函数,分别称为 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' 未在此范围内声明
这可能看起来很傻,但我是初学者。谢谢!
您不能访问另一个函数的局部变量,即使是 friend
。 friend
用于授予访问 class.
的成员(即成员变量或函数)的权限
The friend declaration appears in a class body and grants a function or another class access to private and protected members of the class where the friend declaration appears.
您将 maxSickDays
设为 class 的数据成员。
class timeOff
{
public:
void setMaxSickDays(int days);
int getMaxSickDays();
private:
int maxSickDays;
};
我开始与 类 的朋友一起工作。 这里我有两个函数,分别称为 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' 未在此范围内声明
这可能看起来很傻,但我是初学者。谢谢!
您不能访问另一个函数的局部变量,即使是 friend
。 friend
用于授予访问 class.
The friend declaration appears in a class body and grants a function or another class access to private and protected members of the class where the friend declaration appears.
您将 maxSickDays
设为 class 的数据成员。
class timeOff
{
public:
void setMaxSickDays(int days);
int getMaxSickDays();
private:
int maxSickDays;
};