gpt4 book ai didi

c++ - Enterprise Architect - 单独的代码生成 header 和实现

转载 作者:行者123 更新时间:2023-11-30 05:12:30 26 4
gpt4 key购买 nike

我正在学习 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 文件,但仅包含引用 .h 文件中内容的 using 语句。

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

感谢提供意见的人!

关于c++ - Enterprise Architect - 单独的代码生成 header 和实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com