调用在头文件中定义但在cpp中实现的构造函数

时间:2014-02-12 14:25:54

标签: c++

我想创建一个类SetHinzufuegen的对象,并给它一个ListBox作为参数。它应该以这种方式使用:我有另一个有成员ListBox A的类。我使用此SetHinzufuegen作为参数创建了一个类ListBox A的对象,因此我可以从那里编辑A。 我该如何调用构造函数? 此外,我的类继承自Dialog和#include <Dialog.h>,并使用资源GUI.dll及其对话框DS_Window

GUI.h:

class SetHinzufuegen():public Dialog
{
public:
    SetHinzufuegen(ListBox);
    ListBox setWithVariablesListInputToWrite;

GUI.cpp:

SetHinzufuegen::SetHinzufuegen(setWithVariablesListInput):Dialog(DS_Window, "GUI");
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

我在构造函数的声明中遇到语法错误,因为我不明白这里的概念。

这样,通过声明和实现在一个类中,它可以工作:

class SetHinzufuegen : public Dialog
    {
    public:
        SetHinzufuegen(ListBox setWithVariablesListInput) : Dialog(DS_Window, "GUI")
        {
            inputToEdit = setWithVariablesListInput;
            InitMsgMap();
        }

        ListBox setWithVariablesListInputToWrite;

这里我用

调用构造函数
SetHinzufuegen SetDlg(setWithVariablesList);

在头部声明或cpp实现中需要更改什么?

1 个答案:

答案 0 :(得分:3)

您缺少构造函数参数类型,并且存在虚假;。你需要

SetHinzufuegen::SetHinzufuegen(ListBox setWithVariablesListInput) 
: Dialog(DS_Window, "GUI")
{
    InputToEdit = setWithVariablesListInput;
    InitMsgMap();
}

请注意,您不一定要复制ListBox。如果不这样做,请使用const参考参数。