掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     C++のコード生成について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2005-8-15 10:27

C++のコード生成について

以下のソースを作るにはクラス要素でどのように設定すれば宜しいのでしょうか?

#includ <iostream.h>

int main()
{
cout << "Hello World.\n";
return 0;
}

【追記】
iostream.hなど特殊なインクルードファイルをクラス図で記載して、コード生成ダイアログで出力する方法についても出来れば教えて頂きたいと思っております。(コード生成ダイアログの出力ステートメントを使用しないで・・・です)
tkouno
投稿日時: 2005-8-17 16:14
EA Administrator
投稿: 3939

Re: C++のコード生成について

ご質問にあるソースは、クラスのメソッドではないような
気がするのですが、どのようなクラス構成でしょうか?

あるいは、mainの中身を出力したい、ということでしょうか?

後者であれば、操作のプロパティダイアログの「振る舞い」タブにある
「既定のソース」に記入すれば、その内容がコード生成時に
利用されます。

ぜひお試しください。
未登録ゲスト
投稿日時: 2005-8-18 15:56

Re: C++のコード生成について

ありがとうございます。
「依存」の接続線を用いてincludeファイルを関連付けることが出来ました。
その際に1点質問ですが、依存先の要素のステレオタイプ別に出力形式を変更したいと思っております。

■ステレオタイプが「include」⇒#include クラス名.hで出力
■ステレオタイプが「define」⇒#define クラス名で出力
■ステレオタイプが「ifndef」⇒#ifndefクラス名で出力

importXXXXXで読み込み先のクラスのステレオタイプを取得できるようなフィールド置換マクロが見当たりません。
以上、宜しくお願い致します。

tkouno
投稿日時: 2005-8-22 17:09
EA Administrator
投稿: 3939

Re: C++のコード生成について

ステレオタイプによる生成結果の変更はよくあることなので
マクロではなく、ステレオタイプ専用のテンプレートを
作成することで対応できます。

「ステレオタイプ指定のテンプレートの追加」ボタンで
対応できますので、ぜひお試しください。
未登録ゲスト
投稿日時: 2005-8-23 10:30

Re: C++のコード生成について

ご回答、ありがとうございます。
読込み先のステレオタイプに

■include
■ifndef
■define

を指定して「ステレオタイプ指定のテンプレートの追加」で上記のステレオタイプを追加し、実行してみました。
が、どうも呼び出し元のクラスのステレオタイプで判定しているらしく、思うようなソースが出力されません。
以上、宜しくお願い致します。
tkouno
投稿日時: 2005-8-25 11:12
EA Administrator
投稿: 3939

Re: C++のコード生成について

失礼いたしました。
「呼び出し先」の情報で判断される場合には、このステレオタイプの
設定では対応できません。

付属要素の例と同じく、EXEC_ADD_INで情報を取得する必要が
あるように思います。

ぜひお試しください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ