Computer >> Máy Tính >  >> Lập trình >> C ++

Cắt đối tượng trong C ++ hoặc Java là gì?

Cắt đối tượng được sử dụng để mô tả tình huống khi bạn gán một đối tượng của lớp dẫn xuất cho một thể hiện của lớp cơ sở. Điều này gây ra mất các phương thức và biến thành viên cho đối tượng lớp dẫn xuất. Điều này được gọi là thông tin bị cắt bỏ. Ví dụ,

class Foo {
   int a;
};
   class Bar : public Foo {
   int b;
};

Vì Bar mở rộng Foo nên bây giờ nó có 2 biến thành viên là a và b. Vì vậy, nếu bạn tạo một thanh biến kiểu Bar và sau đó tạo một biến kiểu Foo và thanh gán, bạn sẽ mất biến thành viên b trong quá trình này. Ví dụ,

Bar bar;
Foo foo = bar;

Trong trường hợp này, thông tin về khoảng b bị mất trong một thanh. Đây được gọi là phân chia thành viên.