掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
C++ get/setメソッドのconst設定について |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2006-8-24 10:50 |
EA Administrator ![]() ![]() 投稿: 1895 |
C++ get/setメソッドのconst設定について8月23日に頂いたご質問です。
○ご質問 クラスの属性のプロパティ設定画面でget/setメソッドの追加ができますが、 C++では以下のようにconstを付けるケースが多いと思われますので、 プロパティ設定画面で参照のチェックをONにした場合、 const属性をつけるか、const属性を追加するチェックボックスが あるとうれしいです。 const output& hoge::get() const; void hoge::set(const output&); 現在はget/setメソッドに、毎回const属性を設定しています。 ○回答 実際にconstを付加するスタイルで使用される場合が多い可能性は ございますが、const は必須ではないと思いますので、 Enterprise Architect の機能として const を必ず付加することは しておりません。ご理解いただけますと助かります。 現在、属性のプロパティ設定画面にてconst属性を設定するチェック ボックスはございません。 対応案を2つご提案させていただきます。 案1)コード生成テンプレート変更 C++のコード生成テンプレートの操作に関する部分にて、 Stereotype が "property get" や "property set" の場合に 戻り値やパラメータに const を付加してください。 なお、属性のプロパティにて参照チェックボックスがONかOFFか については、現状情報を取得するすべがございませんので、 Stereotype のみで判断するなどの対応をお願いします。 案2)アドイン作成 アドインを作成し、要素が編集された場合に呼ばれるメソッド (EA_OnNotifyContextItemModified)を記述します。 属性を追加・変更したタイミングで、このメソッドが呼ばれます ので、プロパティチェックボックスが有効になっている場合は、 そのget/setメソッド(Stereotype が "property get" や "property set" ) のconstを有効にするというコードを記述しておくことで、 手動でconstを設定している手間を省くことが出来ると思います。 また、既にモデリングをした内容について、constを付加したい場合 も、アドイン(アプリケーション)の処理にて検索→const設定をする ことにより、手間を省くことが可能かと思います。 |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
sugimoto | 2006-8-24 10:50 |




