2
|
LeastSquaresWonderer · 技术社区 · 7 年前 |
![]() |
1
2
您可以使用引用而不是指针。
然后,使用
会像你希望的那样工作。
这是由对象切片引起的。看见 What is object slicing? |
![]() |
2
2
C++中的整个虚拟函数机制都是基于以下思想:根据 动态 该调用中使用的对象的(“实际”)类型。在此函数中
类型
|
![]() |
3
1
必须将指向实际对象的指针或引用作为参数传递给函数,以允许函数访问对象的特定重写虚拟函数。这样地:
|
![]() |
4
0
可以使用值语义实现类。那么你就不需要指针或引用了。请参阅“ Better Code: Runtime Polymorphism “肖恩的父母,这可能会让你大吃一惊。 Here's the code . 观看演讲,了解他如何使用价值语义来避免糟糕的数据共享,并实现一个令人印象深刻的多态撤销系统。这是一个带注释的示例:
此打印:
Wandbox . 再看一次,您只需要获得多态行为,而不必显式地从基类继承。 另请参见此 blog post |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |