Tag: 覆盖

用C ++中的私有函数覆盖公共虚函数

是否有任何理由使重写的C ++虚函数的权限不同于基类? 这样做有没有危险? 例如: class base { public: virtual int foo(double) = 0; } class child : public base { private: virtual int foo(double); } C ++常见问题解答说,这是一个坏主意,但没有说明原因。 我已经在一些代码中看到了这个习惯用法,我相信作者试图让这个类最终成为一个假设,即不可能重写一个私有成员函数。 但是, 这篇文章显示了重写私有函数的一个例子。 当然,C ++ faq的另一部分build议不要这样做。 我的具体问题: 在派生类和基类中使用不同的虚拟方法权限是否有任何技术问题? 有没有合法理由这样做?

VB.NET中的“阴影”与“覆盖”

两个关键字Shadows和Overrides的意义是什么? 他们做了什么,为什么上下文是一个或另一个更好?

Android – onBackPressed()不工作

我有一个应用程序构build对Android 2.1,我想重写后退button。 我在这里跟着例子: http://android-developers.blogspot.com/2009_12_01_archive.html 而我的代码如下: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5 && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { Log.d("CDA", "onKeyDown Called"); onBackPressed(); } return true; } @Override public void onBackPressed() { Log.d("CDA", "onBackPressed Called"); Intent setIntent = new Intent(Intent.ACTION_MAIN); setIntent.addCategory(Intent.CATEGORY_HOME); setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(setIntent); return; } 它适用于2.x之前的设备,但不适用于2.1更新-1的英雄和2.2的Nexus One。 我从这个例子中缺less了什么? […]

inheritance和方法重载

为什么C ++编译器给出这个错误? 为什么我可以从B访问lol(),但不能访问rofl()[不带参数]。 渔获在哪里? class A { public: void lol(void) {} void rofl(void) { return rofl(0);} virtual void rofl(int x) {} }; class B : public A { public: virtual void rofl(int x) {} }; int _tmain(int argc, _TCHAR* argv[]) { A a; a.lol(); a.rofl(1); a.rofl(); B b; b.lol(); b.rofl(1); b.rofl(); //ERROR -> B::rofl function […]

Android覆盖来抓住所有的触摸,并传递给他们?

我基本上是想从类似系统覆盖的东西中获取所有的触摸事件数据,基于这个触摸数据移动我的精灵,然后允许OS /主屏幕/浏览器根据数据进行操作(反之亦然)。 我发现了类似的问题,但是没有任何东西可以引导我, 获取正在接收所有触摸事件的视图 (已实现,结果如下) 创build一个系统覆盖窗口(总是在最上面) 我可以做什么: 我可以抓住所有的触摸事件,并通过移动我的精灵,而不是让操作系统/主屏幕/浏览器看到任何触摸事件,或者,也可以让触摸事件通过,只获得“TOUCH_OUTSIDE”为我的应用程序采取行动。 我未达到的目标: 我不能为了我的生活找出一个办法来处理数据。 我能想到的唯一的方法,我不能实现的是:拦截我的APP中的数据,并将其传递到OS / homescreen /浏览器来使用允许操作系统/主屏幕/浏览器首先获取数据,然后以某种方式获取信息的callback允许操作系统/主屏幕/浏览器获取数据,对数据采取行动,并轮询他们的滚动/位置值,以便在我的APP中对其执行操作。 我担心这是不可能的,我想我现在在某些文档中读到一些我现在找不到的文档:“这是全部或者全部,或者你的观点得到所有事件,或者没有一个” (为了避免混淆,我并不是说我有两个意见,我的意思是我有一个视图,通过覆盖OS / homescreen / browser的活动/服务来控制,如果你愿意的话,就像一个玻璃窗。 感谢您提供任何有用的信息,非常感谢! [更新]在下面发表我自己的文件,以免混淆。

为什么我们必须重写Java中的equals()方法?

我对我们重写.equals方法的原因有一些困惑。 例如: Test test1 = new Test(3); Test test2 = new Test(3); // The if comparison statement do same thing // which the overridden `.equals()` method does. if(test1.equals(test2)){ System.out.println("test1 and test2 are ture in .equal"); } // Override .equals method. public boolean equals(Object object) { if(object instanceof Test && ((Test)object).getValue() == this.t) { return true; […]

如何使覆盖控制高于所有其他控件?

我需要使控件出现在所有其他控件之上,所以它会部分覆盖它们。

如何调用超类的重载方法

如何在代码中使用myAnimal实例调用Animal类的吃喝方法? public class Animal { public void eat() { System.out.println("Animal Eats"); } public void drink() { System.out.println("Animal Drinks"); } } public class Cat extends Animal { @Override public void eat() { System.out.println("Cat Eats"); } @Override public void drink() { System.out.println("Cat Drinks"); } public static void main(String[] args) { Cat myCat = new Cat(); myCat.eat(); myCat.drink(); […]

覆盖3D全屏应用程序

我想在第三方全屏Windows应用程序的顶部显示一些自定义graphics。 你玩过任何Steam游戏吗? 它有一个可执行的GameOverlayUI.exe,可以让你从游戏中访问Steam窗口。 (GUI元素看起来是自定义的,我不知道这是否是必需的,但是在桌面上它们看起来和游戏完全一样)。它甚至可以使游戏graphics变暗的背景。 我想知道如何去写这样的应用程序。 我也想知道解决scheme的范围有多广泛。 你可以使用所有的OpenGL应用程序的一种方法? 对于所有Direct3D减去DirectDraw应用程序? 对于所有全屏Windows应用程序? 我正在寻找更多的“现代”和通用的解决scheme – 覆盖命令提示符或320×240索引的颜色应用程序不是一个问题。 编辑:一些澄清:全屏应用程序不是我的。 它可以是任何东西。 最有可能的,这将是一个3D游戏。 我想在屏幕的右下angular显示数字时钟,在游戏graphics的顶部。 如果可能,我想避免诸如注入代码或debugging过程等技巧。

重写引用的样式属性

阅读引用主题属性后,我想引用我设置的自定义主题中的属性的值。 我正在将一个用户定义的样式应用于CheckedTextView <CheckedTextView android:id="@+id/contactInfo" style="@style/ListViewCheckedTextViewRowStyle" > </CheckedTextView> 用户定义的样式被定义为: <style name="ListViewCheckedTextViewRowStyle" parent="@style/ListViewRowStyle"> <item name="android:checkMark">?android:listChoiceIndicatorMultiple</item> </style> 我创build的主题定义为: <style name="Theme.Yellowgreen" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item> </style> 但是,显示的checkMark样式是设备的默认主题可绘制的,而不是我用户定义的可绘制的。 我可以绘制我的drawable的唯一方法是: <style name="ListViewCheckedTextViewRowStyle" parent="@style/ListViewRowStyle"> <item name="android:checkMark">@drawable/btn_check_holo_light</item> </style> 但是这样做会挫败覆盖这个属性的全部目的,特别是因为我想在多个主题中覆盖这个属性。 我在我的Activity的onCreate()方法中设置主题,如下所示: public void onCreate(Bundle savedInstanceState) { this.setTheme(R.style.Theme_Yellowgreen); super.onCreate(savedInstanceState); // … } 我也尝试在AndroidManifest.xml文件中设置主题,如: <application android:theme="@style/Theme.Yellowgreen" > 但是这没有用。 有什么可能会出错? 更新 我刚刚创build了一个小样本项目,看起来像我上面张贴的代码正在工作。 所以我必须有一些其他的风格,这是覆盖这个属性,也许它必须做我的布局XML文件。 在我的大型项目中,我有一个Activity两个Fragments 。 这两个Fragments都有Adapters支持的Listviews 。 在Fragment […]