C++Review3_关于C++各种概念的串联与梳理
经过前面两个Review,对代码复用,类的继承概念有了进一步理解。
这里再做一次复盘,把其他概念也串联起来构成一个知识框架。
首先是类和对象的概念。对象指的是特征与技能的结合体,面向对象编程思想的好处是提高了程序的扩展性,可维护与可读性都变得更好。
类在构造时要考虑内存的动态分配问题,也有了构造函数、析构函数的概念。
为了使得对象的操作更加美观,有了运算符重载的技术。
函数的重载是C++语言不同于C语言的一大特征。重载的意义在于给调用者带来了很多方便,提高程序的可读性,根据实际运行情况决定同样的方法实际调用哪个代码块。
运算符重载和类成员函数重载,实际上是C++多态技术的一种形式。多态是C++面向对象的三大特性之一,其他两个是封装、继承。
多态的概念实际上是建立在继承的概念之上的,与多态关系密切的一个概念是虚函数,还有就是联编(静态联编、动态联编),多态的特性还会牵扯到程序运行的额外开销。
封装的概念很好理解,一堆过程用一个函数封装起来,一堆相关变量用一个结构体封装起来
考虑到代码的复用,类的复用等等。--->也就有了类的继承的概念
公有继承(is-a关系)是代码复用的其中一种机制,此外还有组合的方式进行代码复用,包含、私有继承、保护继承(has-a关系)等等。
此外关于代码复用还有多重继承、类模板的概念。
类模板是函数模板概念的延伸。
模板的好处是封装并复用了过程或算法,并使其独立于类型。
C++提供了大量的标准模板库和标准类,可以基于这些现成的代码,开发自己的程序。
此外由于类的概念中有私有成员,公有成员,保护成员。实际上这些概念是为了限制外界对类中数据访问的权限。这很好地保护了数据,但有时候也不大方便,这时候就需要友元。
简单来讲友元函数一种特殊的非成员函数,它可以访问类的私有数据。
友元、友元函数概念再延伸一下,也就有了友元类。
此外还有内存模型、名称空间、异常、输入输出流、文件、泛型编程、容器、迭代器等概念有待继续梳理....
最新文章
- StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)
- 换行(\r)和回车(\n)
- jquery原型方法map的使用和源码分析
- 一个简单的猜大小的小游戏 python
- outlook——还原“未读邮件”文件夹
- 实现一个 Variant
- Android之Activity框架
- Delphi中自画TStatusBar面板中的文字颜色背景以及图片
- flex 监听网络连接情况
- [转载]C#如何在webBrowser1控件通过TagName,Name查找元素(没有ID时)遍历窗体元素
- SpringMVC中使用Jcaptcha实现校验码验证
- Java_SSH项目主要步骤记录
- 控制台console使用MFC库函数,Cout输出CString的方法
- jsp页面中格式化为小数点两位
- EPROCESS KPROCESS PEB
- 【C++】最大子列和
- systemctl enable docker.service
- JavaScript实现LUHN算法验证银行卡号有效性
- AnyProxy做App网络流量测试
- Prepare paddle in Docker
热门文章
- jQuery $.isNumeric vs. $.isNaN vs. isNaN
- 谷歌好样的,把 www 也干掉了
- 2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器
- HZOJ 老司机的狂欢
- 如何用django框架完整的写一个项目
- 一 linux安装python3
- WPF中的简单水动画
- 自定义View系列教程08--滑动冲突的产生及其处理
- Getting started with the basics of programming exercises_1
- Duplicate keys detected: '0'. This may cause an update error.