gpt4 book ai didi

c++ - 一个类的程序实例化——如何?

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:57 25 4
gpt4 key购买 nike

假设我有一个对象类,它有一个方法,它只报告实例的 ID 号。通常,我会硬编码对象类的实例化,如“Object obj_1”和方法的调用,如“obj_1.report”

我的问题是如何按程序实例化对象,例如我想创建 n 个对象,obj_1、obj_2 等等,直到 obj_n。当然,我不是在问实际的循环,而是在问如何使用变量实例化类,而是获取变量的值而不是变量的名称并将其添加到 obj_ 前缀。也许与类型转换?另外,我如何通过仅指定 ID 在程序上调用特定实例的方法。我认为实例化和方法调用都将以相同的方式工作,但是作为一个新手,我很难弄清楚如何在旅途中准确地完成它而不是硬编码。

提前致谢!

编辑:我对 C++ 语法感兴趣

最佳答案

我能想到的最佳解决方案是将您的对象存储在 Map 中,您的 ID(“obj_1”、“obj_2”等)是引用这些实例的键。

Java(因为您没有指定语言)示例代码如下所示:

Map<String, Object> objMap = new HashMap<String, Object>();
for(int i = 1; i <= 10; i++) {
objMap.put("obj_" + 1, new Object());
}

for(int i = 1; i <= 10; i++) {
if(objMap.containsKey("obj_" + i))
objMap.get("obj_" + i).report();
}

关于c++ - 一个类的程序实例化——如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com