我们如何实现一个c ++类,以便它允许我们在运行时添加数据成员

时间:2011-08-12 10:50:57

标签: c++

我们如何实现一个c ++类,以便它允许我们在运行时添加数据成员。这个问题在接受采访时被问到了。

4 个答案:

答案 0 :(得分:6)

我发现这是一个非常有趣的面试问题。如果我问它,我希望这能成为一个来回的对话的开始。受访者必须知道你不能动态添加成员,但我希望能解决实际问题的问题(你想解决什么?为什么你需要添加成员?)以及解决这些问题的建议解决方案。

请注意,有两种方式可以查看面试问题,寻找事实并寻找解决问题的能力。这是一个可以行使两个问题的问题(然后再次由面试官来引导谈话,即如果这个人只是回答这是不可能的,那么面试官可以继续作为但我需要能够......

答案 1 :(得分:5)

你不能用C ++做到这一点,你可以做的语言不多。你可以用地图等进行某种模拟,但这不是一回事。

我希望你刚回答否。

答案 2 :(得分:0)

显然你不能在运行时改变类vtable - 这很愚蠢,但你可以使用一个允许你添加条目的成员变量,这里的stl map是个不错的选择。

作为地图商店名称 - 值对,您可以使用它来存储包含“数据成员”名称和相应数据值的数据。

我希望你问“你是什么意思?”对那个面试问题让他们解释他们在想什么。

答案 3 :(得分:0)

您无法在C ++中添加数据成员。您应该查看C ++的容器,也许是http://www.cplusplus.com/reference/stl/map/,它允许您使用名称标记数据。