- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我偶然发现了菱形继承(钻石问题)问题,但我不确定最佳解决方案。以下代码有效并且没有菱形问题:
class Element { /* pure virtual functions */ };
class Diode : public Element {};
class Thyristor : public Diode {};
不过我不喜欢公共(public)继承,因为晶闸管不是二极管,它经常像二极管一样工作,以至于我想使用很多二极管代码。我可以通过使用组合而不是继承来使其工作,但这会导致二极管和晶闸管之间的内部数据结构重复,这是我不喜欢的。我想做的是使用私有(private)继承。如果我这样做,那么晶闸管也需要从 Element 公开继承:
class Thyristor : public Element, private Diode {};
潜在的问题是我现在创建了一个钻石,因为 Element 是直接通过 Diode 继承的。如果 Element 是纯虚函数,这是一个问题吗?如果是,解决此问题的正确方法是什么,仅对晶闸管类进行更改?
最佳答案
在这种情况下,您肯定应该使用聚合而不是继承。
只要回溯并问问自己:我为什么要在这里继承?如何在外部代码中使用晶闸管和二极管?很快你就会发现你不需要元素的继承,只需聚合必要的行为(接触数量、传导行为等)
关于c++ - 接口(interface)的菱形继承(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51431726/
我尝试创建菱形 View 。我想在弹出窗口中使用它。有谁知道该怎么做? 感谢任何建议。 最佳答案 看看 PathShape : 看起来您只需将具有正确线条/填充的路径传递给它,然后将其绘制在弹出对话框
我正在努力弄清楚如何添加像此处图片那样的边框。菱形/方形旋转边框。我试过边框图片,但似乎无法加载它们。 这两个 border-image: url('path-to-your-png') 33
当我知道每个 Angular 的度数时,如何使用 css 创建四边形。 我已经尝试通过变换和倾斜重新创建一个四边形。 但是,这并不是很好。 这是我尝试存档的内容。 具体要求是: 以此为背景的一个 di
本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?” 因此决定尝试一下,代码不多,仅供参考。 代码
我是jointJS的新手,我需要使用JointJS创建自定义形状,我尝试使用矩形创建菱形,使其高度和宽度相同,然后旋转45度,如下所示, var diamond = new joint.shapes
我的程序打印出这样的钻石: ...............* ..........* * * .....* * * * * * * * *
我正在使用 SMFL/C++ 制作一个 2D 等距游戏引擎,我在进行等距计算时得到了这个: 这是我在 2D 引擎中计算等距坐标的公式:对于 I-J 坐标,我有: x = (I - J) * (tile
我正在尝试创建一个横跨页面的菱形样式链接菜单。我还会有一些 java 脚本下拉菜单。像这样的东西:\\\\ 我在 div 上使用倾斜 css3 属性,但它们也会倾斜文本,有没有办法取消倾斜 div 中
我想制作一个带有图像背景的菱形。我能做到,唯一的问题是图像似乎同时旋转,这是我不想要的。这也需要在ie8中工作 fiddle :http://jsfiddle.net/zangief007/2bft2
我正在抓取一些韩语文本,大部分字符显示了 99.9%,但其余字符如下所示。 �Z 例如,它应该抓取“고소를해줫어”,但在我的输出中它给了我“고소를해�Z어”。 我知道这是一个编码问题,我只是不知道如何
我正在尝试用 Java 编写一个程序,从用户那里捕获一个整数(假设数据有效),然后根据整数的大小输出一个菱形,即用户输入 5 ,输出将是: --*-- -*-*- *---* -*-*- --*--
我最近将数据库的内容从一台主机移到了另一台主机。在那之后我得到了奇怪的字符,比如两个菱形或菱形,里面有问号而不是瑞典字符 ä。 我之前在第一台主机上遇到过这个问题,然后我添加了这段代码,它工作正常 $
是否可以使用react-native创建菱形 View ? 这是我想要的图片: 我尝试使用边框样式,但无法实现。 最佳答案 我在这里得到了解决方案:https://rnplay.org/apps/58
我正在尝试使用嵌套的 for 循环来显示星号菱形。 这是迄今为止我的代码: public class Diamond { public static void main(String[] ar
我正在做一个元素,我有一个需要响应的 div 钻石图片。 下图显示了我创建的 div 中的钻石,但它不适用于所有尺寸。我希望钻石能够对浏览器大小做出响应,因此它始终适合。 我有a jsFiddle ,
三角形 等腰直角三角形1 2.7 ? 1
我现在正在 ArgoUML 中设计 UML 事件图。 我知道如果我想设计如下条件: if(condition) { doTrueAction(); } else { doFalseAc
我有 2 个 SKSpriteNode: 一个简单的正方形 (A) 旋转(-45°)(B)的同一个正方形 我需要随时检查另一个 SKSpriteNode(一个球)的中心是否在这些方 block 之一内
1.输出上三角形 第一行1个星,第二行3个星,第三行5个星,第四行7个星,第五行9个星。 分析:三角形的形状由输出的空白和星组成,通过分析每一行输出几个空格,几个星,就可完成输出三角形的工作。
我想在 Swift 中创建一个带有 titleLabel 的菱形 UIButton。我的问题是,titleLabel 文本缩小并且仅显示三个点。如何扩展 titleLabel 的框架以获得足够的标题空
我是一名优秀的程序员,十分优秀!