C++修炼
LQJW
这个作者很懒,什么都没留下…
展开
-
C++ 修炼 三
一、this指针类的成员变量单独存储在每一个类对象中,成员函数存储在代码段中,所有的类对象共享一份成员函数。成员函数是如何区别调用它的是哪个类对象的?答:借助了this指针,类的每个成员函数都有一个隐藏的参数this指针,它指向类对象类的构造函数中也同样有this指针,指向的就是正在构造的这个对象在类中(成员、构造、析构函数)对成员变量、成员函数的访问都是借助了this指针Use...原创 2019-08-23 16:07:14 · 102 阅读 · 0 评论 -
C++ 修炼 四
一、操作符函数重载 什么是操作符函数:在C++中针对类类型的对象的运算符,由于它们肯定不支持真正的运算操作,因此编译器会将它们翻译成函数,这种就叫作操作符函数(运算符函数) 编译器把运算翻译成运算符函数,可以针对自定义的类类型设计它独有的运算功能 其实各种运算已经具备某些功能,再次实现它的就是叫作运算符重载 双目运算符: a+b 成...原创 2019-08-24 17:07:57 · 75 阅读 · 0 评论 -
C++ 修炼 五
一、类的继承 1、共性与特性 表达不同的类型事物之间共有的属性和行为 个性用于刻画每种事物特有的属性和行为 2、共性表示为父类(基类),个性表示为子类(派生类) 子类继承自父类 基类派生出子类二、继承的基本语法 1、继承表 一个子类可以同时继承零到多个父类,每个父类的继承方式可以相同也可以不同...原创 2019-08-25 16:33:17 · 69 阅读 · 0 评论 -
C++ 修炼 六
一、子类的构造、析构、拷贝1、子类的构造在执行它的构造函数前会根据继承表的顺序执行父类的构造函数 默认执行父类的无参构造 显式调用有参构造,在子类的构造函数后,初始化列表中显式调用父类的有参构造函数#include<iostream>using namespace std;class B{ char* str;public:...原创 2019-08-25 14:05:44 · 98 阅读 · 0 评论 -
C++ 修炼 七
一、虚函数表 什么是虚函数表:在C++的类中,一旦成员函数中有虚函数,这个类中就会多一个虚函数表指针,这个指针指向一个虚函数表,表里面记录了这个类中所有的虚函数。当这个类被继承,它的子类中也会有一个虚函数表(不管子类中有没有虚函数),如果子类的成员函数中有函数签名与父类的虚函数一样,就会用子类中的函数替换它在虚函数表中的位置,这样就达到了覆盖的效果 函数还是在的,代码段中 当通过类...原创 2019-08-25 16:31:51 · 119 阅读 · 0 评论 -
C++ 修炼 二
面向过程编程:关注是问题解决的过程步骤(事情是如何解决的),算法面向对象编程:关注的是谁能解决问题(类),需要什么样的数据(成员变量),具备什么样的技能(成员函数)才能解决问题抽象:找出一个能解决问题的“对象”(观察研究对象),找出对解决问题所必须的数据(属性),功能(成员函数)。封装:把抽象的结构,归结为一个类(数据类型),然后实例化出类对象,设置对象的属性,调用对象的功能达到解决...原创 2019-08-23 12:59:37 · 182 阅读 · 0 评论 -
C++ 修炼 一
学习过程中,要注意时刻比较C与C++的区别一、C++介绍本贾尼·斯特劳斯特卢普,于1979年4月份贝尔实验室的本贾尼博士在分析UNIX系统分布内核流量分析时,希望有一种有效的更加模块化的工具1979年10月完成了预处理器Cpre,为c增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes也就是C++C++与C的不同点:1、C++完全兼容C的所有内...原创 2019-08-22 23:05:18 · 164 阅读 · 0 评论 -
C++ 模板
一、为什么使用模板 1、C/C++是一种静态类型语言(预处理->汇编->编译->链接),好处是速度快,缺点实现通用代码麻烦,例如:实现支持所有类型的快速排序 2、借助函数重载实现通用代码,好处是实现简单,但代码段会增加 3、借助宏函数实现通用代码,类型检查不严格 4、借助回调函数实现通用代码,使用麻烦。 5、由于以上原因C++之父在C++...原创 2019-08-26 22:52:42 · 127 阅读 · 0 评论 -
C++ STL list、vector、deque、set、map、multimap、multiset、priority queue
一、STL介绍 STL 标准模板库,由惠普实验室提供,里面集成了常用的数据结构类模板和算法函数模板等 容器:用来存储各类型数据的数据结构 迭代器:类似于专门用来指向容器成员的指针,用来遍历、操作、管理容器中的成员,可以大大提高容器的访问速度 算法:STL实现了常见的排序、查找算法二、常用的容器 List:双端链表容器 iterator:用来...原创 2019-08-27 23:49:08 · 392 阅读 · 0 评论