侯捷C++->组合与继承
组合composition has a
1、queue->deque 设计模式:adapter
queue开放deque的某些功能,并可以改名
template <class T>
class queue{...protect:deque<T> c;//底层容器public:void pop(){c.pop_tront;}bool empty() const{return c.empty();}
}
2、composition下的构造和析构
container->component
构造:container构造函数先调用component默认构造函数,然后再执行自己(由内而外)
如果需要指定component构造函数,需要使用初始化列表写法
container::container(..):component(){};//红字是编译器加上的,如果需要自己指定构造函数就需要自己加上参数
析构:container析构函数先执行自己,再调用component析构函数(由外而内)
container::~container(){... ~component();}
3、内存大小
queue占用内存大小=deque占用内存大小+其他部分占用内存大小
委托 delegation(composition by reference)
1、对外接口类永远不需要再编译,只需要改变指针指向的类。这种写法也叫编译防火墙
左边对外不变handle,右边的实现可以改变body,StringRep*可以指向不同的实现类
2、三个abc指向同一个hello,实现共享内存.
如果需要修改a,拷贝一份hello出来让a修改,不影响bc.
继承Inheritance is a
1、子类对象有父类成分
2、构造和析构
子类构造先调用父类default构造函数,再执行自己(由内而外)
Derived::Derived():Base(){...}
子类的析构函数先执行自己,再调用父类的析构函数(由外而内)
Derived::~Derived(){...~Base()}
父类的析构函数必须是virture
侯捷C++->组合与继承相关推荐
- C++的沉迷与爱恋——侯捷
每年的 09/28 於我都是一个特殊的日子 -- 不只是因为教师节.今年很特殊地没有普天同庆,那麽我就写篇文章自己庆祝一下好了. 我於今年七月发表了一本着作<多型与虚拟>和一本译作 < ...
- 【C++面向对象程序设计——侯捷大师】心得摘要
侯捷大师讲的真好,很多模糊的知识点,都得到了解决.感觉像是相见恨晚!非常感谢侯捷老师的启迪!谢谢啦!非常推荐萌新去学习学习! 下面是侯捷大师的<面向对象程序设计>课程的一些我觉得重要的摘要 ...
- 侯捷C++八部曲笔记(四、C++2.0新特性)
侯捷C++八部曲笔记(四.C++2.0新特性) 关键字 noexcept override final decltype =default, =delete nullptr auto explicit ...
- From COM to COM 侯捷
From COM to COM -- 侯捷 摘要: 本文简介 C++ Object Model 和 Component Object Model 的基本概念,并引介 四本书籍: 1. Inside T ...
- 侯捷老师整理||IT专业术语中英对照表
侯捷老师整理||IT专业术语中英对照表 百度文库的原文,侯捷老师整理的中英单词,真的对我们学习很有帮助 由于老师的网站已经失效了,所以就是从网上搜索来的,没有注明转载. 一群性质相近同的「东西」,如果 ...
- 【C++】侯捷C++面向对象高级编程(下)
转换函数(conversion function) 可以把"这种"东西,转化为"别种"东西. 即Fraction --> double class Fra ...
- 侯捷老师 c++面向对象编程(上)
(本博客是笔者根据侯捷老师的课程进行的总结,便于自己复习,也分享于网上,便于和更多人学习交流,若有侵权,请告删,若有误,请不吝赐教)(图来自于pdf文档,需要的朋友可以在评论区留言) 主要分为两章: ...
- C++的沉迷与爱恋 from 侯捷
最近读了不少侯捷的书,站在巨人的肩膀上力不能及,只希望追逐之旅有所受益! C++的沉迷与爱恋 作者:侯捷 1998.09.28 发表 每年的 09/28 於我都是一个特殊的日子 -- 不只是因为教师节 ...
- 侯捷面向对象高级编程(二)
侯捷面向对象高级编程(二) 转换函数 转换函数没有返回值,返回值就是double即函数名,不需要自己写 因为转换函数一般不会改变其中内容,所以要加const限定 两条路都可以走,就回产生歧义,报错 e ...
- C++11新特性选讲 语言部分 侯捷
C++11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分.只谈新特性,并且是选讲. 本文为语言部分笔记. 语言 Variadic Templates move semanti ...
最新文章
- 再谈 Devstack(Rocky)
- python_redis模块
- IBM MQ 使用一例
- 云计算,拼的就是运维
- memcache和memcached的区别
- [转]详解HTTP包
- ElasticSearch、Logstash和Kiabana三个开源工具。
- 六种方式实现hibernate查询
- QT+OpenGL中glTexImage2D不生效问题
- QQ批量自动登录程序的设计
- delphi中webbrowse控件中模拟点击文本超链接_游戏中lt;控件gt;的思考
- Perl+批处理实现半自动批量生成动态通讯组
- android 自动校准时间,Android客户端怎么同步校准服务器上的时间
- uni-app 极光推送
- java微信新增永久素材_微信公众号开发之新增永久图文素材(十)
- w10启动无线网服务器,Win10系统怎么开启无线wifi_w10开启wifi图文教程
- php表格整体怎么移动,超级表格新版移动端操作指南
- Error: Canceled future for execute_request message before replies were done
- php 数字 字母组合,php随机生成数字字母组合的方法_php技巧
- 全国大学生智能汽车竞赛硬件篇(二)—电磁信号采集部分