Ключевое слово Friend только предоставляет доступ к закрытым данным других классов. Вы не можете объявлять дополнительных членов другого класса в классе друга.
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);
}
без ключевого слова friend вы можете получить доступ к a.side в методе convert.
Но я не совсем уверен, что вы спрашиваете? Если вы просто хотите использовать другой класс, вы можете сделать следующее.
NextSquare.h
class NextSquare {
private:
int side;
public:
void set_side (int a)
{side=a;}
friend class Rectangle;
class Rectangle* aRecInASquare;
};
Теперь вы можете получить доступ к данным Rectangle в NextSquare