在头类构造函数中使用嵌套类

时间:2016-04-29 09:17:20

标签: c++ class constructor nested

我想制作一些我粘贴在代码中的东西。 我想在Head类中使用Nested类,查看下面的代码。 我该怎么办?我试图在初始化列表中使用嵌套的construktor,但仍然无法正常工作。有什么想法吗?

class Head{    
   private:
      int x;
   public:
   Head(int x, const Nested& n){ 
      this->x=x;
   }
   class Nested{
   private:
      int a;
      int b;
   public:
      Nested(int a, int b){
         this->a=a;
         this->b=b;
      }
   }

}

1 个答案:

答案 0 :(得分:1)

你的意思是你有编译错误?您应该在使用之前定义Nested,如下所示:

class Head{    
   private:
      int x;
   public:

   class Nested {
   private:
      int a;
      int b;
   public:
      Nested(int a, int b){
         this->a=a;
         this->b=b;
      }
   };

   Head(int x, const Nested& n){ 
      this->x=x;
   }
};

int main()
{
   Head::Nested n(0, 0);
   Head h(0, n);
}