问题描述
假设我有一个在 JavaScript 中看起来像这样的对象:
JavaScript
let someObject = {
dataType: 'char',// string
character: 'c',// char
pos: {
line: 1,// unsigned int
col: 1 // unsigned int
}
}
我想用 C++ 重新创建它,我该怎么做?
解决方法
在 C++ 中,要创建自定义对象,您可以使用 class
es、struct
s 和 union
s(尽管 union
s 是一个更高级的主题)。
class
是用户定义的类型,其中默认访问修饰符是 private
。
struct
是 class
,但默认访问修饰符是 public
。
union
是一个更高级的主题,如果您愿意,可以研究它。
对于你的情况,你会翻译这个:
let someObject = {
dataType: 'char',// string
character: 'c',// char
pos: {
line: 1,// unsigned int
col: 1 // unsigned int
}
}
进入这个:
class someObject {
std::string str = "char";
char ch = 'c';
unsigned int line = 1;
unsigned int column = 1;
};
如果您愿意,您可以为您的 pos
创建一个子类“int
”。
您可以尝试很多教程。