|
1
25
每个对象(属于至少有一个虚函数的类)都有一个指针,称为
这个
|
|
|
2
6
Chris Jester-Young 给出了这个问题的基本答案。 Wikipedia 有更深入的治疗。 如果您想了解这类事情如何运作的全部细节(以及所有类型的继承,包括多重继承和虚拟继承),最好的资源之一是Stan Lippman的“ Inside the C++ Object Model |
|
|
3
3
忽略绑定的各个方面,实际上并不是编译器决定了这一点。
我强烈推荐Scott Meyer的书《有效C++》来说明如何做到这一点。 甚至还介绍了如何忽略派生类中方法中的默认参数,以及如何仍然使用基类中的任何默认参数!那很有约束力。 |
|
|
4
1
回答你问题的第二部分:这个地址可能不会在正确的位置有一个v形桌,疯狂会接踵而至。而且,根据标准,它是未定义的。 |
|
|
5
1
在C++中,不应该使用像这样的旧C样式转换,应该使用 动态浇铸
如果给定指针不是有效的多边形对象,则dynamic_cast将返回NULL,因此它将被断言捕获。 |
|
|
6
1
虚拟函数表。也就是说,两个多边形派生对象都有一个虚拟函数表,其中包含指向其所有(非静态)函数实现的函数指针;当您实例化一个三角形时,area()函数的虚拟函数指针指向Triangle::area()函数;实例化矩形时,area()函数指向Rectangle::area()函数。由于虚拟函数指针与内存中某个对象的数据一起存储,因此每次将该对象作为多边形引用时,都将使用该对象的相应区域()。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |