Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取特定的类对象_Java_C++_Class - Fatal编程技术网

Java 如何获取特定的类对象

Java 如何获取特定的类对象,java,c++,class,Java,C++,Class,我对班级的概念还很陌生。我这里有个问题。例如,我有一个叫做 class p{ int id; p(id){ //constructor } } 现在,我想创建类p的实例。在我有了所有的实例之后。我想构建一个函数get_p(pid)以返回id=pid的特定类p,如何编写这部分 我已经阅读了C++和java类教程,但我不能把它分类。请帮帮我。您必须手动跟踪,例如,使用地图;无法查找“具有此特定ID的对象”。您必须手动跟踪此

我对班级的概念还很陌生。我这里有个问题。例如,我有一个叫做

class p{ 
       int id;
       p(id){
               //constructor

       }
}
现在,我想创建类p的实例。在我有了所有的实例之后。我想构建一个函数get_p(pid)返回id=pid的特定类p,如何编写这部分


<>我已经阅读了C++和java类教程,但我不能把它分类。请帮帮我。

您必须手动跟踪,例如,使用
地图
;无法查找“具有此特定ID的对象”。

您必须手动跟踪此对象,例如,使用
地图
;无法查找“具有此特定ID的对象”。

其他类必须挂起所有这些实例,并将
放入可以进行查找的映射中。我建议使用某种类型的工厂模式。

其他类将必须挂起所有这些实例,并将
放入可以进行查找的映射中。我建议采用某种工厂模式。

这些实例将放在哪里?我猜您需要一个包含所有“p”实例的类“c”。 例如:类发票在一个名为Items的属性上保存类项目的集合,因此,当您填写并需要时,您的发票实例将通过Id为您的项目请求Items(这是一个集合类的实例)

myInvoice.get_Item(Id);

这些实例将在哪里举行?我猜您需要一个包含所有“p”实例的类“c”。 例如:类发票在一个名为Items的属性上保存类项目的集合,因此,当您填写并需要时,您的发票实例将通过Id为您的项目请求Items(这是一个集合类的实例)

myInvoice.get_Item(Id);

使用模板元编程和类型列表(也是元编程概念) 你可以在C++中做这些事情。
但我认为这必须是一个静态成员或模板参数。

使用模板元编程和类型列表(也是一个元编程概念) 你可以在C++中做这些事情。
但我认为必须是静态成员或模板参数。

您尝试了什么?例如,在Java中,您可以将p实例存储在一个映射中,其中键是id,值是对应的p。迭代每个类(您必须将对它们的引用存储在数组或其他容器中),并检查每个类是否具有所需的
id
。或者,您可以使用字典。如果两个或多个p对象具有相同的id,您希望有什么行为?你的意思是想返回一个特定的类或实例吗?你尝试了什么?例如,在Java中,您可以将p实例存储在一个映射中,其中键是id,值是对应的p。迭代每个类(您必须将对它们的引用存储在数组或其他容器中),并检查每个类是否具有所需的
id
。或者,您可以使用字典。如果两个或多个p对象具有相同的id,您希望有什么行为?您的意思是要返回一个特定的类还是一个特定的实例?