我们可以在主函数中声明嵌套的类对象吗

时间:2018-07-27 18:04:20

标签: c++ class

我对于使用c ++嵌套类非常陌生,我正在尝试一个程序
其中明确提到在主函数内部声明内部类或嵌套类的对象。在主方法中声明嵌套类对象后,显示错误“在此范围内未声明b”。请说明如何在主方法中声明嵌套类对象。

   class a

    {
      public:

       class b

           {
             //something
           };
    };


     int main ()      

     {

      a obj1; //object of outer class

      b obj2;//can we declare the object of nested class b in side main fuction?

      return 0;
     }

1 个答案:

答案 0 :(得分:2)

这应该有效:

class a
{
    //something
public:
    class b
    {
        //something
    };
};


int main ()      
{
    a obj1; //object of outer class

    a::b obj2;//declare the object of nested class b in side main function

    return 0;
}

请注意,b类必须在a类内是公共的,才能在a类之外使用。 还要注意obj2的声明如何指定b在类a的范围内。 假设这两个类都有一个公共的默认构造函数。