不到断气不罢休 发表于 2024-5-15 00:14:00

C++对象切片探秘:派生类对象怎样被‘切割’?

https://p3-sign.toutiaoimg.com/tos-cn-i-axegupay5k/58e0581ad85c488ab5d5b05eb2d5aaf4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1711669485&x-signature=gY9IzLQZMuMn9P8yst5MbrpS6iM%3D 
概述:C++中的对象切片指通过将派生类对象赋值给基类对象,导致派生部门被“切掉”,只生存基类部门。这可能发生在值传递、赋值等操纵中。对象切片的基础功能示例展示了派生类对象赋值给基类对象时的现象,而高级功能示例则展示了通过基类指针实现派生类对象的访问和多态。
对象切片(Object Slicing)是指通过将派生类对象赋值给基类对象,导致派生类对象的派生部门被“切掉”,只生存基类部门的现象。这通常发生在利用值传递或赋值操纵时。
基础功能:

示例源代码:

#include #include class Base {public:    Base(int baseData) : baseData_(baseData) {}    virtual void Print() const {      std::cout
页: [1]
查看完整版本: C++对象切片探秘:派生类对象怎样被‘切割’?