将引用成员变量传递给函数参数

Passing to a function argument a reference member variable

本文关键字:函数 参数 引用 成员 变量      更新时间:2023-10-16

是否可以将类的变量成员传递给具有引用参数的函数?

比方说

class Foo
{
 int A;
 int B;
}
void foo(int& a)
{
    a++;
}
void main()
{
    Foo f;
    foo(f.A);
}

这可能吗?

是的,这是可能的,它完全按照您的预期工作。

但请注意,在现有代码中,ABprivate(默认情况下)。这意味着类外部的任何内容都无法访问它们,无论出于何种原因(包括将它们用作引用)。

将它们声明为public

class Foo
{
public:
    int A;
    int B;
};

或将Foo更改为struct

struct Foo
{
    int A;
    int B;
};