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

Решение

После дальнейших экспериментов, пытаясь ответить на комментарии, я обнаружил, по крайней мере, часть своей проблемы. Исходный смоделированный класс, для которого я пытался сгенерировать код, был классом шаблона. Однако даже после удаления шаблона все реализации были сгенерированы в файле .h. Файл .cpp также был создан, но содержал только using заявление, ссылающееся на то, что было в файле .h.

После создания новых смоделированных классов я обнаружил, что «нормальное» поведение — это то, что я ожидал: определения классов хранятся в файле .h, а детали реализации — в файле .cpp. Я также попытался создать шаблонный класс и затем удалить шаблон; снова поведение было таким, как ожидалось. Кажется, что я, должно быть, сделал что-то странное с моим первоначальным классом, что я не понял, как отменить.

Спасибо тем, кто предложил комментарии!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]