Freund Schlüsselwort gewährt nur den Zugriff auf die anderen Klassen private Datenmitglieder. Sie können keine weiteren Mitglieder einer anderen Klasse in einer Freundesklasse deklarieren.
Rectangle.h
class Rectangle {
int width, height;
public:
int area()
{return (width * height);}
void convert (CSquare a);
};
square.h
class Square {
private:
int side;
public:
void set_side (int a)
{side=a;}
friend class Rectangle;
};
Rectangle.cc
void Rectangle::convert (Square a) {
width = a.side;
height = a.side;
}
main.cc
int main() {
Square sqr;
Rectangle rect;
sqr.set_side(4);
rect.convert(sqr);
}
mit dem Freund Schlüsselwort können Sie auf a.side in der Konvertierungsmethode zugreifen.
Aber ich bin nicht wirklich sicher, was Sie fragen? Wenn Sie nur eine andere Klasse verwenden möchten, können Sie Folgendes tun.
NextSquare.h
class NextSquare {
private:
int side;
public:
void set_side (int a)
{side=a;}
friend class Rectangle;
class Rectangle* aRecInASquare;
};
können Sie jetzt Rectangle Daten in NextSquare Zugriff
Ich finde es schwer zu Finde heraus, was dein Problem ist. Bitte poste die Definitionen von blog, freunde und blog_pointer. Veröffentlichen Sie auch alle Fehlermeldungen, die Sie erhalten haben, als Sie das versucht haben. – wolfgang