Enterprise Architect - 单独的代码生成标头和实现

时间:2017-06-12 15:04:08

标签: c++ enterprise-architect

我正在学习Enterprise Architect,到目前为止它似乎是一个很好的工具。也就是说,我遇到代码生成问题。我希望将生成的代码分开,使得类声明在.h文件中,并且实现在.cpp文件中(模板类除外)。例如,我希望某些类Foo的生成代码看起来像:

foo.h中

class Foo
{
    public:
        Foo();
        int GetSomeInt();
        void SetSomeInt(int a);

    private:
        int someInt;
}

Foo.cpp中

Foo::Foo()
{
}

int Foo::GetSomeInt()
{
}


void Foo::SetSomeInt(int a)
{
}

相反,我得到一个包含上述所有代码的头文件,当我尝试在所有链接在一起的多个文件中使用Foo时,这显然会导致问题。如何告诉工具我需要单独的文件进行类声明和实现?

1 个答案:

答案 0 :(得分:1)

经过一些尝试回应评论的进一步实验后,我发现了至少部分问题。我试图生成代码的原始模型类是模板类。但是,即使在删除模板之后,仍然会在.h文件中生成所有实现。还生成了一个.cpp文件,但只包含引用.h文件中的using语句。

创建新的建模类后,我发现"正常"事实上,行为是我所期望的:类定义存储在.h文件中,实现细节在.cpp文件中。我还重新创建了一个模板类,然后删除了模板;这种行为再次如预期。似乎我必须对我原来的课程做了一些奇怪的事情,我还没知道如何撤消。

感谢那些提出意见的人!