问题标签 [virtual-functions]
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++ - 在 C++ 中模拟类的虚拟静态成员?
反正在 C++ 中有一种虚拟静态成员吗?
例如:
我知道这个例子很简单,但是如果我有一个复杂数据的向量,对于所有派生类来说总是相同的,但需要从基类方法访问?
这个解决方案不能满足我,因为我需要在每个类中重新实现成员 _name 及其访问器 GetName()。就我而言,我有几个成员遵循 _name 行为和十分之一的派生类。
任何的想法?
c++ - 虚函数和vtable是如何实现的?
我们都知道 C++ 中的虚函数是什么,但是它们是如何在深层次上实现的呢?
可以在运行时修改甚至直接访问 vtable 吗?
vtable 是否存在于所有类,还是只存在于至少具有一个虚函数的类?
抽象类是否只是为至少一个条目的函数指针设置了一个 NULL 值?
拥有一个虚函数会减慢整个班级的速度吗?还是只调用虚拟函数?如果虚拟功能实际上是否被覆盖,速度是否会受到影响,或者只要它是虚拟的就没有影响。
c++ - “纯虚函数调用”崩溃从何而来?
我有时会注意到程序在我的计算机上崩溃并出现错误:“纯虚函数调用”。
当无法从抽象类创建对象时,这些程序如何编译?
c++ - 如果有虚函数的类是用vtables实现的,那么没有虚函数的类是如何实现的呢?
特别是,无论如何都不需要某种函数指针吗?
c++ - 在 C++ 中使用接口的性能损失?
在 C++ 中使用接口(抽象基类)时是否存在运行时性能损失?
c# - 构造函数中的虚拟成员调用
我从 ReSharper 收到关于从我的对象构造函数调用虚拟成员的警告。
为什么这是不应该做的事情?
c# - 将方法设为虚拟有什么危险?
我一直在用 RhinoMocks 进行一些模拟,它要求将模拟的方法设为虚拟。这很好,除非我们有一个自定义框架,其中包含我要模拟的方法,这些方法当前未标记为虚拟。
我无法预见将这些方法设为虚拟会有任何问题,但我想知道将方法设为虚拟有哪些潜在危险需要注意?
c++ - 有什么理由不让成员函数成为虚拟的吗?
有什么真正的理由不在C++ 中将成员函数设为虚拟吗?当然,总是有性能争论,但在大多数情况下似乎并不成立,因为虚函数的开销相当低。
另一方面,我已经被咬过几次忘记将一个应该是虚拟的函数虚拟化。这似乎是一个比性能更大的论点。那么有什么理由不让成员函数默认为虚拟的吗?
c++ - 什么时候不应该使用虚拟析构函数?
是否有充分的理由不为类声明虚拟析构函数?你什么时候应该特别避免写一个?
oop - 抽象方法和虚拟方法有什么区别?
抽象方法和虚拟方法有什么区别?在哪些情况下建议使用抽象或虚拟方法?哪一个是最好的方法?