快乐的编码器!包含字符串的类 - 我可以跳过初始化它们吗?如果是,如何?
我有一个计划,今天尝试学习一些C++,所以我认为我可以从之前的课程中拿出一份旧的C作业,并在C++中做同样的事情。这个任务是读取音乐文件并从他们的ID3标签中检索数据,并根据他们的艺术家,专辑和曲目标题等将它们分类到文件夹中......这并不重要,但至少知道我要做什么。
所以我玩了一些套,让我的程序收到一串字符串指定不同的歌曲,它将循环算法。
在这一步我卡住了,虽然由于我是如何试图复制我的旧的C程序,它是包含结构的行为三个值之中:
int size;
char *tag_name;
char *data;
但到目前为止,我已经无法在C++中重新创建这种动态行为,我希望只定义成员但未初始化,因为我希望能够稍后更改此数据。从技术上讲,我可以通过在创建标签之前从文件中获取数据的方式来完成此操作,因此可以为构造函数提供初始值并完成它。但我能按照我想要的方式做到吗?
class Tag {
public:
std::string name;
std::string data;
int size;
Tag() {}
Tag(std::string n, std::string d, int s) : name(n), data(d), size(s) { }
void setData(std::string data) { this.data = data }
};
既然我已经试过指针和诸如此类的东西(用谷歌搜索负载)我刚回到上面并决定问你如何真正做到这一点的十亿组合。
我的脑容量是完全捣碎,但考虑到上述伪代码,因为我敢打赌,这是不以任何方式正确...
所以我的问题是: 如何定义一个类,使我得到一个动态为成员名称和数据分配字符串?我几乎想要使用一些好的旧char *,但我尝试这一点的目的是学习一些C++,所以我现在迫使自己去经历这个。
可以在C++ – BWG 2014-10-03 23:30:59
随时更改该字符串应该不是真的需要做到这一点。也许你可以显示实际的代码? – BWG 2014-10-03 23:32:31
我目前质疑在您的包含列表中可能缺少''。 –
WhozCraig
2014-10-03 23:34:03