我正在学习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
时,这显然会导致问题。如何告诉工具我需要单独的文件进行类声明和实现?
答案 0 :(得分:1)
经过一些尝试回应评论的进一步实验后,我发现了至少部分问题。我试图生成代码的原始模型类是模板类。但是,即使在删除模板之后,仍然会在.h文件中生成所有实现。还生成了一个.cpp文件,但只包含引用.h文件中的using
语句。
创建新的建模类后,我发现"正常"事实上,行为是我所期望的:类定义存储在.h文件中,实现细节在.cpp文件中。我还重新创建了一个模板类,然后删除了模板;这种行为再次如预期。似乎我必须对我原来的课程做了一些奇怪的事情,我还没知道如何撤消。
感谢那些提出意见的人!