C++ 中真实方法和虚拟方法之间的区别
the difference between a real and virtual method in c++
我在维基百科上读过这个蔑视,但我想用简单的英语理解这些是我在维基百科上读到的蔑视
virtual function
或virtual method
是function
或method
,其行为可以在继承类中被具有相同签名的函数覆盖"
"pure virtual function
或pure virtual method
是需要由非抽象派生类实现的virtual function
"
我的另一个问题是,如果我有class A
和class B
,如何在class A
或仅在class B
中执行virtual method
......我读过很多书,我知道有人说这可能是这里某些问题的重复,但我真的很想用简单的英语理解,因为这样我就可以轻松快速地了解事物。
基
类的非虚拟方法不能被继承自基类的子类覆盖。(请注意,这与在子类中"重新定义"方法不同)
基类的虚拟方法可以被子类覆盖。(见@juanchopanza关于private
可见性的评论)
基类中的纯虚拟方法意味着它是一个"抽象"(仅将其视为接口) - 因为它不应该按原样直接使用,而是基类期望子类覆盖该方法以提供实际实现。
相关文章:
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 不同的类或结构初始化方法之间的性能差异是什么?
- #include < conio.h> 和 getch() 方法之间的关系是什么?
- 定义类模板构造函数的两种方法之间的区别
- 获取字符串大小的各种方法之间的比较
- 在 C 中并行化嵌套循环的几种方法之间的差异,C++使用 OpenMP
- 分流场算法C++方法之间未正确传递?
- C++对象构造方法之间的差异
- 空隙和非空隙方法之间的Sfinae调度
- 对象的动态数组 - 初始化方法之间的差异
- 类中私有静态方法和私有方法之间的区别
- 构建对象的方法之间有什么区别
- 如何避免布尔和返回它的方法之间的名称碰撞
- 分配指针的方法之间有什么区别?
- 在非常相似的方法之间共享代码
- 这两种初始化成员变量的方法之间有区别吗?
- C++ 中真实方法和虚拟方法之间的区别
- 合并排序问题,在方法之间传递数组
- 基于像素和基于帧的方法之间的区别
- 实例化数组的方法之间的区别