对模板、模板基类、派生类private继承、派生类public继承的一些认识

以下内容纯属虚构,目的在于把自己所学的知识串联起来,以便消化和吸收。

       随着国家经济的发展,人民生活水平的提高。对汽车的需求越来越强烈,要求越来越高。各种品牌的汽车制造商,应声而起。各种利益集团,出于安全和垄断考虑。各个制造商之间的交流几乎处于隔绝的地步。每家都有自己完整的汽车制造体系。这样导致汽车的制造成本居高不下,而汽车的价格,在恶性竞争下,一直处于低位。汽车制造方面的利润显得相当狼狈。长久以往,将难以为继。一场汽车的变革势在必行。

     在有识之士的建议下,制造商们很快抱成一团,达成共识。他们成立汽车制造协会。并对各家的生产进行重构。把很多相同的制造环节独立出去,成立一家新公司CommProduce。抱团的制造商共同享有对这家公司的管理和使用权。

     就这样,看似危机四伏的汽车制造,在一个不起眼的改革中,圆满谢幕了。困扰来到了消费者这边。SchoolA、SchoolB、SchoolC、SchoolD四所学校。他们打算买校车ShoolBus(且需求校车的品牌、型号相同),接送学生们上学。他们有两个方案:

方案一BuyPlanA:

每个学校都分别配置一辆校车

方案二BuyPlanB:

所有学校同配一辆校车

预知它们如何选择,嘿咻嘿咻.....


      通过上述牵强附会的描述,对我们理解模板、模板基类、派生类private继承、派生类public继承有所助力,不管你们相不相信,反正我是相信了。下面结合上下文谈谈我的一些浅显的认识:

扫描二维码关注公众号,回复: 3356547 查看本文章

      提及的汽车制造商,就像一系列功能、构造相似的类,将这些相近的类打磨成一个类,就形成了模板类,而CommProduce就相当于模板基类。BuyPlanA计划就相当于派生类的non-virutal继承。BuyPlanB就相当于派生类的virtual继承。


引发思考:

为什么template私有继承基类模板,被共享的基类模板始终只有唯一一个。而派生类non-virtual继承基类,创建对象时,基类对象可能被创建多个(需要引入virtual继承机制得以避免)?


猜你喜欢

转载自blog.csdn.net/n_fly/article/details/79288284
今日推荐