📜  C++ |朋友关键字|问题2

📅  最后修改于: 2021-05-26 02:07:05             🧑  作者: Mango

预测以下程序的输出。

#include 
using namespace std;
  
class B;
class A {
    int a;
public:
    A():a(0) { }
    void show(A& x, B& y);
};
  
class B {
private:
    int b;
public:
    B():b(0) { }
    friend void A::show(A& x, B& y);
};
  
void A::show(A& x, B& y) {
    x.a = 10;
    cout << "A::a=" << x.a << " B::b=" << y.b;
}
  
int main() {
    A a;
    B b;
    a.show(a,b);
    return 0;
}

(A)编译器错误
(B) A :: a = 10 B :: b = 0
(C) A :: a = 0 B :: b = 0答案: (B)
说明:这是一个简单的程序,其中将类A的函数声明为类B的朋友。

由于show()是朋友,因此它可以访问B的私有数据成员。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。