单独的代码生成头和实现

我正在学习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时,这些问题显然会导致问题,这些文件都链接在一起。 我怎么能告诉工具,我想单独的文件的类声明和实施?


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

在创建新建模类后,我发现“正常”行为实际上是我所期望的:类定义存储在.h文件中,实现细节存储在.cpp文件中。 我也尝试创建一个模板类,然后删除模板; 行为如预期一样。 看来,我一定对我原来的课程做了一些奇怪的事情,但我还没有想出如何撤消。

感谢那些提供评论的人!

链接地址: http://www.djcxy.com/p/31807.html

上一篇: Separate Code Generation header and implementation

下一篇: HTML5 best practices; section/header/aside/article elements