C++ 转换与继承

来源:互联网 发布:梦幻西游手游mac客户端 编辑:程序博客网 时间:2024/06/06 03:28
As we've seen, every derived object contains a base part, which means that we can execute operations on a derived object as if it were a base object. Because a derived object is also a base,there is an automatic conversion from a reference to a derived type to a reference to its base type(s). That is, we can convert a reference to a derived object to a reference to its base subobject and likewise for pointers.

Base-type objects can exist either as independent objects or as part of a derived object. Therefore, a base object might or might not be part of a derived object.As a result, there is no (automatic) conversion from reference (or pointer) to base to reference (or pointer) to derived. 

The situation with respect to conversions of objects (as opposed to references or pointers) is more complicated.Although we can usually use an object of a derived type to initialize or assign an object of the base type, there is no direct conversion from an object of a derived type to an object of the base type.

0 0