【发布时间】:2013-08-12 15:20:30
【问题描述】:
在 Python 中,我有一个标志类,我发现它非常有用。我是 C++ 的新手,似乎无法在 C++ 中复制这个 python 功能。与其提出不起作用的 c++ 代码,不如说这是我想要复制的内容,我需要一些关于去哪里、模板、虚拟或 ?? 的建议
要求是能够动态地改变类的成员,在 python 中,它修改了它自己的类的 dict 元素来实现这一点。
在python中:
导入系统 参数 = []
... 加载 args[] 与键:通过 sys.argv[] 循环的值 ... blah blah blah
类标志:
def __ init __(self, **args):
自我。 __ 字典 __.update(args)
现在我们启用 flag.dynamicproperty
flag = Flag(**dict(args))
使用示例: $ python script.py somedesc1 someval1 somedesc2 someval2
这样做是让我能够从命令行传入参数,如上所述,并即时分配任意数量的参数,然后通过 flag.property 访问(例如 flag.somedesc1)调用返回 somval1。考虑这一点的另一种方法是向 C++ 类动态添加 key:value 属性。
python代码中的使用示例:
如果 flag.somedesc1 != '10': 打印 someval1
我似乎无法做出类似的 c++ 工作。我研究了多态性,但这些必须动态分配,然后才能作为类的属性访问。
想法???当然 c++ 可以做到这一点,我只是不知道从哪里开始。
【问题讨论】:
标签: class dynamic properties key-value