C++ | palabra clave amigo | Pregunta 2

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *