问题标签 [virtual]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 优雅的对象比较
当比较两个对象(相同类型)时,有一个比较函数接受同一类的另一个实例是有意义的。如果我在基类中将其实现为虚函数,那么函数的签名也必须在派生类中引用基类。解决这个问题的优雅方法是什么?比较不应该是虚拟的吗?
keyboard - Symbian S60 第 5 版中的虚拟键盘:使用哪个 API?
Symbian S60 第 5 版上的虚拟键盘是如何(即使用哪个 API)打开的?该文档似乎缺少有关此的信息。
apache-flex - Flex 3 中的 virtual 关键字是否会导致性能下降?
正如标题所说的那样。虚拟关键字是否会导致性能下降?
c# - 你会拥有太多的“受保护的虚拟”方法吗?
对于那些在大型项目和 API/框架设计方面有经验的人来说,这是一个问题。
我正在开发一个将来会被许多其他项目使用的框架,所以我想让它变得漂亮和可扩展,但同时它需要简单易懂。
我知道很多人抱怨 .NET 框架包含太多的密封类和私有成员。我是否应该避免这种批评并用大量受保护的虚拟成员打开我的所有课程?
尽可能多地使我的方法和属性受保护是一个好主意吗?在什么情况下你会避免受保护的虚拟并让成员私有。
asp.net - 如何通过指向远程共享的虚拟文件夹访问数据库
我在访问位于远程服务器上的数据库时遇到问题。
我有一个试图连接到数据库的 ASP.NET 2.0 网页。
该数据库是通过一个虚拟文件夹(我在 IIS 中设置的)访问的。
虚拟文件夹指向包含数据库的远程共享。
虚拟文件夹(在 web 应用程序根目录中)通过 UNC 路径指向远程服务器上的共享:
虚拟文件夹的“读取”和“浏览”权限设置为“真”。
我将连接字符串存储在 web.config 的“appSettings”部分:
连接对象在我的 .aspx 页面上声明:
这是尝试使用连接对象的代码:
当我运行上面的代码时,我收到以下错误(在代码的这一行'objConnVirtual.Open()':
异常详细信息:System.Data.OleDb.OleDbException:不是有效的文件名。
我检查了数据库名称并且它是正确的(甚至复制/粘贴它以确保)
如果我将连接字符串的“数据源”部分放入浏览器的地址栏中,我可以成功地看到远程服务器上共享的内容。
不确定这是权限问题还是代码问题。
我已经用谷歌搜索了这个废话,但无法找到解决方案。
任何帮助深表感谢。
c++ - 函数声明中缺少“虚拟”限定符
在浏览一些旧代码时,我遇到了类似于以下内容的内容:
代码编译良好(MS VS2008),没有警告(级别 4),它按预期工作 -Func
即使派生类中缺少虚拟限定符,它也是虚拟的。现在,除了引起一些混乱之外,这段代码是否有任何危险,或者我应该全部更改,添加virtual
限定符?
c# - C# 在不知道它是子类实例的情况下调用重写的子类方法
我有一个带有虚拟方法的基类,以及覆盖该方法的多个子类。
当我遇到其中一个子类时,我想调用被覆盖的方法,但不知道子类。我可以想出丑陋的方法来做到这一点(检查一个值并强制转换它),但似乎应该有一种语言内的方法来做到这一点。我希望列表在同一个列表中包含多个子类,否则显然我可以创建一个列表。
编辑:修复了代码中错误的注释,这导致我得到了非常合适的第一个答案:)
例如:
c++ - 当虚拟不工作时
目前我的 C++ 类中有一个奇怪的错误。我有一个 ActiveX 包装类(作为 wxWidgets 的一部分),我添加了一个新的虚函数。我有另一个类继承自 ActiveX 类(wxIEHtmlWin),但是 ActiveX 类总是调用它自己的函数,而不是 wxIEHtmlWin 中覆盖它的函数。
我无法弄清楚为什么会这样。我将函数设为纯虚拟函数,现在程序在执行函数调用时崩溃,但编译正常。有什么方法可以禁用虚拟功能或者我在 Visual Studio 中发现了一个错误?
ActiveX 类
wxIEHtmlWin 类
编辑:我添加了另一个测试函数(返回一个 int)并且仍然搞砸了。
有问题的代码链接:http: //lodle.net/public/iebrowser.rar
编辑:
好的,感谢下面的答案,我让它工作了。我所做的是分两部分创建activex类(如建议的那样),但是在wxIEHtmlWin中,我在构造函数代码中调用了第二部分。像这样:
现在我知道为什么 wxWidgets 支持两部分构造。
c++ - 具有静态函数的类在 C++ 中成为抽象基类
有一个用例
我想让 foo 成为一个抽象基类,但显然 make 不能在这个抽象基类中,因为虚函数不能是静态的。
像这样
从设计的角度来看,在抽象类中使方法非静态或使派生类具有静态方法是一种好方法。
c++ - 从基类调用虚函数
假设我们有:
g()
将从哪个调用Base::f()
?Base::g()
还是Derived::g()
?
谢谢...