2011-06-22 24 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