父类对象赋给子类对象与子类对象赋给父类对象

把子类对象赋给父类对象,这时候父类的COPY赋值操作符只负责处理子类对象中父类成分的COPY工作。
把父类对象赋给子类对象,一般情况下是不能成立的。除非你在子类中定义一个以父类对象为形参的子类构造函数,其实这一种变形的COPY构造函数,它还可以有其他参数用于构造子类对象之用。在此构造函数中构造一个临时性的子类对象,然后再调用父类COPY赋值操作符完成赋值操作。
或者,你在子类中定义一个参数是父类对象引用的COPY赋值操作符,把父类对象赋给子类对象的父类成分就OK了,至于说这时候子类对象的子类成分该怎么办,你自己妥善处理呗。

你可能感兴趣的:(父类对象赋给子类对象与子类对象赋给父类对象)