掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     C++で多重継承時、親クラスの指定順序を制御したい


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-5-28 11:57

C++で多重継承時、親クラスの指定順序を制御したい

EAの7.0.814を使ってC++で開発しています。
class A : public B, public C
{
...
};

というコードを読み込んで、生成しなおすと
class A : public C, public B
{
...
};

のように順序が変わってしまいます。public Bを先にしたいのですが、どうすればいいでしょうか?
sugimoto
投稿日時: 2008-5-28 13:49
EA Administrator
投稿: 1895

Re: C++で多重継承時、親クラスの指定順序を制御したい

現状の動作では、接続(汎化)が作成された順序になっています。
そのため、出力順序を逆にしたい場合は、接続を交換することで
ご対応いただけます。
接続とクラス要素の接続ポイントにカーソルを近づけますと、
マウスポインタが白矢印から黒矢印に変わりますので、その状態で、
接続を別の要素に付け替えることができます。

ご確認のほど、よろしくお願いいたします。
未登録ゲスト
投稿日時: 2008-5-28 14:16

Re: C++で多重継承時、親クラスの指定順序を制御したい

ありがとうございます。接続を作り直したら親クラスの指定順序を変更することができました。

親クラスの一方はモデルにないクラス(MFC)で、もう一方がモデル内のクラスだったため、“親クラスとインターフェースの指定”でMFCのクラスを直に指定していました。このケースではどうも接続の作成順序とコード上の継承元の出現順序に関係がなかったようなので、つい質問してしまいました。

今回は名前空間の基準にしたパッケージにとりあえずMFCのクラスを名前だけ配置し、派生関係を作り直したところ、コードを読み込んで再生成しても順序が入れ替わることがなくなりました。図中になければ生成する人もいないと思うのでこれでいってみます。

ありがとうございました。
sugimoto
投稿日時: 2008-5-28 14:31
EA Administrator
投稿: 1895

Re: C++で多重継承時、親クラスの指定順序を制御したい

ご質問の背景について、情報をいただきありがとうございます。

ご連絡いただきましたように、“親クラスとインターフェースの指定”にて
モデルにはない情報を追加した場合は、その作成順は、ソースコード
生成順序とは、現状は関係がございません。

引用:

今回は名前空間の基準にしたパッケージにとりあえずMFCのクラスを名前だけ配置し、派生関係を作り直したところ、コードを読み込んで再生成しても順序が入れ替わることがなくなりました。図中になければ生成する人もいないと思うのでこれでいってみます。


ご対応ありがとうございました。
現状のEAの動作であれば、この対応でご希望の出力を得ることができます。

そのほかお困りのことなどございましたら、ご連絡下さい。
未登録ゲスト
投稿日時: 2008-5-28 15:10

Re: C++で多重継承時、親クラスの指定順序を制御したい

引用:
現状のEAの動作であれば、この対応でご希望の出力を得ることができます。

そのほかお困りのことなどございましたら、ご連絡下さい。


ありがとうございます。
よろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ