以下内容纯属虚构,目的在于把自己所学的知识串联起来,以便消化和吸收。
随着国家经济的发展,人民生活水平的提高。对汽车的需求越来越强烈,要求越来越高。各种品牌的汽车制造商,应声而起。各种利益集团,出于安全和垄断考虑。各个制造商之间的交流几乎处于隔绝的地步。每家都有自己完整的汽车制造体系。这样导致汽车的制造成本居高不下,而汽车的价格,在恶性竞争下,一直处于低位。汽车制造方面的利润显得相当狼狈。长久以往,将难以为继。一场汽车的变革势在必行。
在有识之士的建议下,制造商们很快抱成一团,达成共识。他们成立汽车制造协会。并对各家的生产进行重构。把很多相同的制造环节独立出去,成立一家新公司CommProduce。抱团的制造商共同享有对这家公司的管理和使用权。
就这样,看似危机四伏的汽车制造,在一个不起眼的改革中,圆满谢幕了。困扰来到了消费者这边。SchoolA、SchoolB、SchoolC、SchoolD四所学校。他们打算买校车ShoolBus(且需求校车的品牌、型号相同),接送学生们上学。他们有两个方案:
方案一BuyPlanA:
每个学校都分别配置一辆校车
方案二BuyPlanB:
所有学校同配一辆校车
预知它们如何选择,嘿咻嘿咻.....
通过上述牵强附会的描述,对我们理解模板、模板基类、派生类private继承、派生类public继承有所助力,不管你们相不相信,反正我是相信了。下面结合上下文谈谈我的一些浅显的认识:
提及的汽车制造商,就像一系列功能、构造相似的类,将这些相近的类打磨成一个类,就形成了模板类,而CommProduce就相当于模板基类。BuyPlanA计划就相当于派生类的non-virutal继承。BuyPlanB就相当于派生类的virtual继承。
引发思考:
为什么template私有继承基类模板,被共享的基类模板始终只有唯一一个。而派生类non-virtual继承基类,创建对象时,基类对象可能被创建多个(需要引入virtual继承机制得以避免)?