c++ 禁止切分多态的类对象

派生类对象可以赋值给基类对象,但是不建议,因为派生类成员比基类成员多,赋值过去会丢失信息。

基类对象不可以赋值给派生类对象,因为基类成员比派生类成员少。

而多态中很重要的一点是:基类的指针可以指向派生类对象,也就是派生类对象可以赋值给基类指针。反过来不可以,因为派生类的对象所占内存通常比基类的对象大,当派生类的指针指向基类对象时,可能会超出基类对象操作数据。

同理,基类的引用可以作为派生类的别名。


版权声明:本文为gxt19940123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。