Newbie到C :麻烦设置从Anothe类继承的类中的类构造函数

Newbie to C++: Trouble setting up a class constructor from a class that inherits from anothe class

本文关键字:继承 构造函数 Anothe 麻烦 设置 Newbie      更新时间:2023-10-16

我正在尝试构建一个从另一类继承的类,并通过解析文本文件来初始化自身。所以我有:

在我的标题文件上(都在同一文件中):

class Mother{
    public:
        Mother();
        Mother(std::string path);
        int parse_textfile(std::string path);
   protected:
        std::string path;};
class Daughter : public Mother {
    public:
       Daughter();
       Daughter(path);
       Daughter(std::string TITLE);
    protected:
        std::string path
        std::string TITLE

现在,在我的CPP文件上:

Mother::Mother(){};
Mother::Mother(string path)
:path(path)
{
    parse_textfile(path);
};
Mother::parse_textfile(string path)
{
    cout << "Processing file: " << path << endl;
    ifstream file(path.c_str());
    if (! file){
        cerr << "unable to open input file: " << grid_path << " --bailing out! n";
    return -1;
}else{
    string TITLE;
    getline(file, TITLE);
    return Daughter(TITLE)

现在,我知道此代码是不正确的(显然,因为没有错误不会编译),但是我对C 仍然是如此原始,以至于此时确实有一些专家建议会很长一段路。

目的是创建一个继承解析器的女儿班,因为女儿班级本身应该解析文本文件并将所有变量保存在其中。由于文本文件中有很多信息,因此我会按线解析进行行。我只希望将此信息保留在女儿对象上,以便以后可以对此信息进行操作。

另外,我主要使用C 是因为我不想共享源代码。如果有一种更合适的语言,我也想从您那里听到它。在Python中,这对我来说是微不足道的,但是我再次不想分享发生的事情。

编辑1:

根据我从评论中获得的内容,我可以更清楚地看到什么是特定问题。

我有3个属于同一问题的文本文件,但是每个文本文件都包含不同的信息。

我想要的是获取有关如何初始化此文本文件作为从同一"母班"派生的单个对象的建议。解析器实际上属于每个女儿而不是母亲更有意义。无论哪种方式,对于那些旨在实际回答问题而不是问我"我为什么要这样做"的人,我感谢您的帮助和建议。

您的问题与C 本身无关,而是关于软件体系结构&amp;设计。您能否尝试将"解析器"功能提取到单独的类中(让其名称为"工厂")。鉴于您,您有一个决定可以创建哪个实例的人 - 母亲,女儿,无论如何。而且,您有一个类等级级的母女-ETC,可以共享必要的常见代码并在需要时覆盖一些特定的行为。

我知道这可以命名为" Overkill",但我建议您被称为"四本书",名为"设计模式"。在这里,它似乎是PDF的公共版本:https://github.com/dieforfree/edsebooks/blob/master/ebooks/design patterns, ELEMENTS OF REUSABL;