什麼是 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