|
1
4
对。 这完全是另一回事,你没有看到任何重大损失,在你张贴的代码。您用来比较对象的度量表明,似乎没有任何东西因为对象切片而丢失。但是,如果您查看调试器中的对象,您很可能会注意到对象的类型不同。对象切片的效果在该环境中变得非常明显。 我建议不要仅仅为了构造基类的对象而创建派生类。使用一个或多个非成员函数更合适。
|
|
2
2
将继承用于您似乎正在使用它的任务不是一个好主意。请注意,在c++20中,可以使用指定的初始值设定项解决所显示的问题:
|
|
|
3
0
拥有派生类的主要原因是拥有虚函数。在代码中,一旦对象被切片,虚拟函数将开始调用基类版本:
输出:
所以,切片仍然是非常不受欢迎的。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |