C++类实例的地址
我有一个学生类的列表。在每个学生中都有一个班级成员,它是一个大学班级指针(每个大学班级的基础班级)。在建立清单时,我希望同一所大学的所有学生指出他们大学的同一个实例。C++类实例的地址
有没有办法得到类的实例地址而不直接访问它? 如何检查某个类的实例是否已经构建?
您需要知道其包含的类的实例的容器类。因此,要知道是否已经有一个具有特定特征的类的实例,请问容器。容器可以创建一个,如果它不存在或者可以将其留给调用代码。 C++标准库中有许多容器。你可能想要一个unordered_map
或者,如果你不想额外的复杂性,一个map
。
当你说地图时,你的意思是像散列图吗? – itzikos
@ user3126715无序映射是散列映射。地图更像一棵树。 –
可以有多种方法来实现这一点,一种简单的方法可以是让大学的构造函数为private,并且具有一个静态函数,该函数需要大学名称(或其他标识符)并返回指向大学类的指针。
该功能可以使用map
内部跟踪,如果所大学的名字没有在地图上创建一个新的实例把它放在地图上,并返回它,否则返回现有的实例。
您的课堂名称中有可怕的错字。 – 2013-12-22 07:42:26
你是什么意思? – itzikos
@userXXX这种类型的学校被称为“大学”,而不是“univercity”。 – 2013-12-22 08:33:55