c++ - 我们可以在主函数中声明嵌套类对象吗
问题描述
我对 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;
}
解决方案
这应该有效:
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 的范围内。这假设两个类都有一个公共的默认构造函数。
推荐阅读
- keras - GlobalAveragePooling1D 与 Lambda 层等价
- integromat - 具有不同 URL 域的 Integromat 应用程序
- node.js - 使用节点 js 远程登录
- sql-server - 错误 6013:表/视图“_c.dbo.UrO”没有定义主键,无法推断出有效的主键
- javascript - 父子 div 上的事件处理程序
- android - 更新 Firestore 文档时的协程 JobCancellationException
- pandas - 计算熊猫数据框中出现的 inf
- javascript - Firebase 云解析错误:意外的令牌管理员
- python - 如何使用调查权重在 python 中输出 pd.crosstab 函数?
- amazon-web-services - Amazon Chime 能否在第三方 VPS 上部署和运行?如何?