课程
/后端开发
/C++
/C++远征之继承篇
不是很懂virtual的作用和用法。。。
2016-12-07
源自:C++远征之继承篇 6-3
正在回答
应该是涉及到作用域吧,两种虚继承的作用范围是不一样的。
因为migrantworker可以从farmer 和 worker继承,而farmer和worker都是从person继承的,这样migrantworker就含有两个person中的数据,这是不被允许的,所以采用虚继承避免冗余数据。 migrantworker只是包含farmer一次,不存在冗余,所以不需要虚继承
举报
继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面