c++ 派生类向基类转换的可访问性

对于c++面向对象一直很疑惑,这次决定下功夫把它弄明白 一、派生类和基类之间的类型转换 首先理解,派生类含有基类的所有成分,只不过有些就算在派生类的成员函数也不能访问而已。 (1)派生类和基类的自动转换只针对指针或引用类型。 只有指针和引用支持自动类型转换,同时,也只有指针和引用才可以静态类型和动态类型不同,这两个配合就完成了c++的最重要的多态。 派生类到基类的自动类型转换也不是都能随便转换的。 1.如果派生类以public继承基类,则是is a关系,用派生类可以完成基类的所有功能,所以可以在任意地方将派生类自动转换成基类,注意,这里都是指指针或引用,而不是对象。 比如:class A{}; class B:public A{} B b;void function(const A &); 就可以使用function(b),会默认把B类型转换成A类型。 (2)不存在从基类到派生类的隐式类型转换,注意是隐式。 (3)在对象之间不存在类型转换。

c++ 派生类向基类转换的可访问性,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。