什么是 C++ 或 Java 中的对象截断?
对象截断用于描述将一个派生类的对象赋给一个基类的实例的情况。这会导致派生类对象的类方法和成员变量丢失。这被称为信息被截断。例如,
class Foo {
int a;
};
class Bar : public Foo {
int b;
};
由于 Bar 继承了 Foo,因此它现在有 2 个成员变量 a 和 b。因此,如果你创建类型为 Bar 的变量 bar 并创建类型为 Foo 的变量然后赋给 bar,你会在过程中丢失成员变量 b。例如,
Bar bar; Foo foo = bar;
在这种情况下,bar 中有关 b 的信息丢失了。这被称为成员截断。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP