C++ 在另一个类中声明一个类成员

C++ 在另一个类中声明一个类成员,c++,objective-c,class,declaration,C++,Objective C,Class,Declaration,我正在尝试让另一个类的某个类中有一个成员: 我有一个博客类和朋友类以及一个博客指针类 我尝试了下面的代码: friends :: blog_pointer * blogFriend; 在类的函数中是否有类似于原型的东西? 编译器,构造函数或析构函数除外 friend关键字仅授予对其他类私有数据成员的访问权。不能在好友类中声明其他类的其他成员 矩形.h class Rectangle { int width, height; public: int area () {retu

我正在尝试让另一个类的某个类中有一个成员: 我有一个博客类和朋友类以及一个博客指针类 我尝试了下面的代码:

friends :: blog_pointer *  blogFriend;
在类的函数中是否有类似于原型的东西?
编译器,构造函数或析构函数除外

friend关键字仅授予对其他类私有数据成员的访问权。不能在好友类中声明其他类的其他成员

矩形.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;
};
矩形.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关键字的情况下,您可以访问convert方法中的a.side

但我不确定你在问什么?如果您只想使用另一个类,可以执行以下操作

下一季度

class NextSquare {
 private:
   int side;
public:
  void set_side (int a)
     {side=a;}
friend class Rectangle;
class Rectangle* aRecInASquare;
};

现在,您可以在NextSquare中访问矩形的数据

您可以转发声明类或“原型”类,如下所示:

class B;

class A {
  public:
    B b;
};

class B {
  public:
    A a;
};

我发现很难弄明白你的问题是什么。请发布博客、朋友和博客指针的定义。此外,张贴您尝试时收到的任何错误消息。