为什么要把子类的指针赋值给父类????

 我来答
zjfaok
推荐于2016-03-20 · TA获得超过6806个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1610万
展开全部
我个人估计一年或者几年之后你又会问“如何隐藏类的定义,让用户看不到类的实现细节”或者“如何让用户无法修改类的私有成员”。

一个办法就是用子类型多态。

在父类定义所有需要用到的接口(公共成员函数)和允许用户看到的数据,把父类暴露给用户。而在子类中定义实现细节,用户不知道子类的定义——甚至不知道子类叫什么名字,将来哪怕完全替换掉子类的实现,换成另一个子类,用户也会一无所知。最后需要做的就是写一个函数来返回“子类指针”了——因为我们不想让用户知道子类的任何信息,所以函数不能不能直接声明成返回子类对象或者返回“子类指针”,正确的做法是声明成返回父类指针,而实际上,却是把子类指针转换成父类指针然后返回
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式