0

下面的例子显然是错误的,但我想知道是否有可能实现如下

extern int return_value();

class A {
private:
    int k = 1;
public:
    friend int return_value();
};

int return_value()
{
    return k;
}

我知道如果不将 A 类的实例传递给函数然后访问变量return_value()return_value(A &a)a.k

注意函数return_value()是一个例子。我想知道在 C++ 语言范围内是否有一种方法可以直接访问非成员函数体中的变量

4

1 回答 1

0

AFAIK 只有两种方法可以访问类的成员(对于非成员函数)。

  1. 要么通过您描述的实例。
  2. 或者如果成员被声明为静态成员,则没有实例。也就是说,它对于该类的所有对象都具有相同的值,并且可以使用类范围运算符直接访问。

当然,这是假设范围允许函数访问类成员。

于 2013-12-09T07:57:50.980 回答