![]() |
1
3
您发布的代码不是C++,因为该语言不支持。 虚拟类 在你描述的概念中。 |
![]() |
2
3
对不起,我的朋友,但是C++在这个意义上没有“虚拟类”。它的类是虚拟的,因为它们有一些纯虚拟的方法,所以它们不能被实例化(参见 this question )-但不是你所描述的。 正如StephenMWebb指出的,你链接到的维基百科文章并没有声称是关于C++的。 |
![]() |
3
0
让我们把它转换成真正的C++:
在C++中,对于“虚拟类”的概念没有地方或需要。任何类都可以从任何其他类继承(无论是否内部),只要它是可访问的,就像上面的示例一样。如您所见,即使是完全不相关的类也可以从内部类继承…
另一方面,如果我们希望能够重写,我们需要显式地声明函数为virtual——好吧,至少要重写第一个函数,实际上重写的函数是virtual隐式的。长期以来被认为是很好的做法,即使在重写函数上重复虚拟,因为C++ 11冗余,但是,作为
|
![]() |
4
0
另一项努力:
|
![]() |
Fernando Chu · 一个变量有多个可能的类?[关闭] 5 月前 |
![]() |
Amaterastis · 基类接受子类和内部子类的模板参数 6 月前 |
![]() |
Rishab Negi · 这个关键字在抽象类中是如何工作的 6 月前 |
![]() |
dEmigOd · 类层次结构中的运算符重载解析 6 月前 |
![]() |
TableTopRug · 如何从Kotlin中的密封类继承? 7 月前 |
![]() |
hasdrubal · 抽象基类函数指针python 10 月前 |
|
Josh · 通过反思访问孩子的财产 11 月前 |