我对于使用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;
}
答案 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的范围内。 假设这两个类都有一个公共的默认构造函数。