c++正确处理 is-a has-a关系

比如。我们想实现一个Set类,而已经有一个List类可提供给你使用,我们到底用is-a(public继承)关系还是用has-a(组合)关系呢?

1:如果使用is-a关系,则

class Set:public List{

。。。。

};在处理插入的时候,List的insert方法不能满足我们的需要,因为它可以插入重复项。

2:has-a

class Set{

private:

List *m_pList;

};

这样我们可以使用List提供的基础insert方法,而把能不能insert已经数据结构的处理(二叉树)与List分离。

c++正确处理 is-a has-a关系

时间: 2024-11-06 08:20:09

c++正确处理 is-a has-a关系的相关文章

农轻重相互关系

  正确处理农轻重的相互关系(论文) 农业是国民经济的基础,这是因为农业不仅是人们生活资料的来源,工业的原料的来源,国家资金积累的重要来源,而且也是工业品的重要市场和对外出口換取外汇的主要的物资来源.只有农业发展了,人民的物质生活才有可靠的保障,工业特别是轻工业才有充足的原料和市场,发展重工业才有足够的资金. 我国是发展中的社会主义国家,要把我国建设成一个现代农业.现代工业.现代囯防和现代科学技术的社会主义強国,就需要有大量的人力物力财力的积累.没有怎么办?我们不能用资本帝国主义和社会帝国主义掠

oracle物化视图

原文URL: oracle 10g物化视图简介 2012-05-09 17:33:55|  分类: ORACLE性能 |  标签:oracle  物化视图  |举报|字号 订阅 下载LOFTER我的照片书  | 环境oracle 10g 10.2.0.4  linux 64 要大而专业的看oracle自己的文档-sql参考. 说实话,oracle需要学习的内容太多,每个都看过去,实在太费事. 所以如果能够对物化视图有个概览,那最方便不过. 主要涉及内容 物化视图日志,用于快速刷新所必须的 物化视

[转载]oracle物化视图

原文URL:http://lzfhope.blog.163.com/blog/static/636399220124942523943/?suggestedreading&wumii 环境oracle 10g 10.2.0.4  linux 64 要大而专业的看oracle自己的文档-sql参考. 说实话,oracle需要学习的内容太多,每个都看过去,实在太费事. 所以如果能够对物化视图有个概览,那最方便不过. 主要涉及内容 物化视图日志,用于快速刷新所必须的 物化视图 权限,通常不是个难题,因

iOS 时间校准解决方案

背景 在 iOS 开发中,凡是用到系统时间的,都要考虑一个问题:对时.有些业务是无需对时,或可以以用户时间为准的,比如动画用到的时间.一些日程类应用等.但电商相关的业务大都不能直接使用设备上的时间,而是需要跟服务器校准后的时间,例如: 区间判断:一些优惠促销活动需要在 app 端判断当前是否在活动期间内.如果用户设备时间不准,会给用户错误的信息,导致投诉. 倒计时:各种秒杀.限时促销.未支付订单的失效等的倒计时.如果用户设备时间不准,会带来倒计时结束后刷新页面,状态没变化的问题.可以测试一下电商

十八大报告(全文)

坚定不移沿着中国特色社会主义道路前进 为全面建成小康社会而奋斗 --在中国GCD第十八次全国代表大会上的报告 (2012年11月8日) HJT 11月8日,中国GCD第十八次全国代表大会在北京人民大会堂开幕.HJT代表十七届中央委员会向大会作报告. 新华社记者 黄敬文 摄 同志们: 现在,我代表第十七届中央委员会向大会作报告. 中国GCD第十八次全国代表大会,是在我国进入全面建成小康社会决定性阶段召开的一次十分重要的大会.大会的主题是:高举中国特色社会主义伟大旗帜,以邓小平理论."三个代表&qu

军旅风电商崛起:砺剑户外用品深度调查

摘要:移动电商时代,机会属于把握互联网巨大商机的有心人.而军人出身的王先生则给广大退役军人带来了榜样,创办沈阳砺剑户外用品有限公司.为广大退役军人同仁提供再就业平台,不仅成就他人,也成就了自己.借助电商平台,军旅户外用品行业发展迅速,"砺剑户外用品"的崛起无疑是一个巨大的示范榜样. 文/辛东方 军旅户外用品行业现状 军旅户外用品现在销量很大,越来越成为户外运动一种必不可少的装备.无论是军人或者是登山爱好者,军旅户外用品都是首选.成为热销的军旅户外用品,早已不是什么秘密. 而人们最关注的

微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM

昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式发布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译.分享给大家: 下载 Visual Studio 2013 Update 3 此更新程序是最新的一个累加了新功能和错误修复的Visual Studio2013,您可以从以下链接获得Visual Studio2013和Team Foundation Server 2013: Download Visual S

Maven提高篇系列之(一)——多模块 vs 继承

这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) Maven提高篇系列之(三)——使用自己Repository(Nexus) Maven提高篇系列之(四)——使用Profile Maven提高篇系列之(五)——处理依赖冲突 Maven提高篇系列之(六)——编写自己的Plugin(本系列完) 通常来说,在Maven的多模块工程中,都存在一个pom类

NO2:自动生成sql语句

SQL语句自动生成工具 大哉乾元 2016/2/26   作者原创转载请注明出处 前言 这个程序是几年前做成的,现在整理成文档和大家分享,当时参与的项目中大量使用的sql语句,所以SqL语句的代码输入占了较大的比例,为了提高sql语句的书写正确性和输入效率,做成了这个自动生成工具. 一:ADO.NET中执行sql文,对应的sql语句嵌入到vb.net的代码内,分析sql的语法格式个特点: 已检索语句为例分析: A:必须是已select开头 B:检索的字段名(一些系统函数:可选,例如max,sum

Java数据结构和算法之链表

三.链表 链结点 在链表中,每个数据项都被包含在'点"中,一个点是某个类的对象,这个类可认叫做LINK.因为一个链表中有许多类似的链结点,所以有必要用一个不同于链表的类来表达链结点.每个LINK对象中都包含一个对下一个点引用的字段(通常叫做next)但是本身的对象中有一个字段指向对第一个链结点的引用. 单链表 用一组地址任意的存储单元存放线性表中的数据元素. 以元素(数据元素的映象)  + 指针(指示后继元素存储位置)  = 结点(表示数据元素 或 数据元素的映象) 以"结点的序列&q