首页 > 解决方案 > 我们可以在主函数中声明嵌套类对象吗

问题描述

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

   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;
     }

标签: c++class

解决方案


这应该有效:

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 的范围内。这假设两个类都有一个公共的默认构造函数。


推荐阅读