Prediga la salida del siguiente programa.
#include <iostream> 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) Error del compilador
(B) A::a=10 B::b=0
(C) A::a=0 B::b=0
Respuesta: (B)
Explicación: Este es un programa simple donde una función de la clase A se declara como amiga de la clase B.
Dado que show() es amigo, puede acceder a datos privados de miembros de B.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA