我正在学习Enterprise Architect,到目前为止,它似乎是一个不错的工具。这就是说,我在代码生成时遇到了问题。我希望生成的代码被分开,以便类声明在.h文件中,实现在.cpp文件中(不在模板类中)。例如,我期望生成的代码对一些类,美孚,看起来像:企业架构师 - 独立代码生成头文件和实现
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
时,这些代码在以后显然会导致问题,这些文件都链接在一起。我怎么能告诉工具,我想单独的文件的类声明和实施?
你并不是真的想为每个类都有单独的翻译单元(.cpp)。只要方法被标记为内联,您就可以在许多翻译单元中使用它们。请注意,由于您尚未提供实际生成的输出,因此无法判断它是否正常。 – VTT
@VTT一个公平的点。我没有在我的模型中标记任何内联。对于简单的getter/setter方法,内联是好的,但不可避免地会出现一些我不想内联的更复杂的方法。我将用一些实际输出来更新问题。 – CodingHero
@VTT,除非生成** inline'关键字会导致问题。 –