2011-06-22 13 views
2

C++アプリケーションをプログラミングするには、インターフェイスをサポートするクラスが必要でした。私が気をつけなければ、ダイヤモンドの継承を導入し、おそらく私のインターフェースを事実上継承すべきだと気づいたとき、MIでそれを執念した後、大きな瞬間がありました。さらに、コードを実装する唯一のエレガントな方法は、dynamic_castが必要でした。エイリアスはどこに定義されていますか

この点については、より良い方法が必要だと思いました。私がサブタイプ/エイリアスについて読むことはTDPLで覚えています。基本的なアイデアを自分のクラスにコピーしました。私は解決策がはるかにエレガントだと思いますが、コジェネラルではありません。

私のコードを先取り的に正当化するために、私はDのこのエイリアスを記述するページにリンクすることを望んでいましたが、the websiteにあるものを見つけることができました。

サブタイプ/エイリアスは正式に記載されていますか?

答えて

4

http://www.digitalmars.com/d/2.0/class.html#AliasThis

しかし、私は、これは、日付のうち少しかもしれないと思います。 IIRC TDPLは、クラスごとにいくつかのエイリアスが存在する可能性を説明しています。

+0

ありがとうございました。残念ながら、TDPLはこれが多重継承を避けるためにどのように使われているかを説明してくれます。ああ、私はちょうどその本を指すと思う。 –

+0

https://github.com/D-Programming-Language/d-programming-language.orgをフォークし、エイリアスの詳細な説明をドキュメントに投稿することができます:) – Trass3r

+1

複数のエイリアスが議題にありますが、現在実装されていません。 – dsimcha

関連する問題