在编写 C++ 应用程序时,我需要一个支持接口(interface)的类。在用 MI 实现它之后,我意识到如果我不小心的话,我会引入菱形继承(钻石问题),并且我可能实际上应该继承我的接口(interface),这让我感到很沮丧。此外,实现代码的唯一优雅方式需要dynamic_cast。
关于这一点我想一定有更好的办法。当我记得在 TDPL 中读到有关子类型/别名的内容时。我将基本思想复制到我的类里面。我认为该解决方案更加优雅,但并不传统。
为了先发制人地证明我的代码合理,我希望能够链接到一个描述 D 的此功能的别名的页面。但是我可以在 the website 上找到一个页面。 .
在哪里正式描述了子类型/别名?
最佳答案
http://www.digitalmars.com/d/2.0/class.html#AliasThis
但我认为这可能有点过时了。 IIRC TDPL 描述了每个类有多个别名的可能性。
关于standards - 别名在哪里定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447465/