如何让子类从虚方法返回不同的值类型

时间:2015-01-26 01:31:06

标签: c++ json

我正在编写一种JSON解析器。

因此,我正在为那里可能存在的不同变量类型创建一个类层次结构。字符串,整数,数组,对象等。

我认为最简单的方法是使用一个虚方法GetValue,它返回变量返回的变量值。

例如,我的Int类型GetValue方法将返回int,我的Array类型将返回std::vector或某些类型这样的容器通过它GetValue

我不确定如何做到这一点。我首先想到虚拟方法的模板参数可以工作,但唉,它们不能被模板化。我已经走过了虚拟方法的路线,因为我想以后我会有一些容器指向基类型,所以我的GetValue方法需要是虚拟的。

返回struct的方法是什么,它可以存储所有类型并依赖调用者来知道要查找哪个结构部分?使用重载转换操作符的class是否是一个好主意,这样它可以根据它的使用位置返回正确的结构部分?

0 个答案:

没有答案