
C++
斯立扑
这个作者很懒,什么都没留下…
展开
-
标准C++07
一、什么是模板 模板是C++中自动生成代码的技术。 二、为什么使用模板 问题:实现一个通用的排序算法。 C语言:通过回调函数实现,使用者调用麻烦。 C++语言:函数重载,需要为多种类型实现一个第一版本,还会导致代码段增加。 C/C++语言:借助宏函数实现,类型检查不严格,频繁使用还会增加代码段。 由于以上原因C++之父在C++中实现了模板技术,既能技术多种类也能兼顾严格的类型检查,能让程序员编程专注思考业务逻辑而不用关系数据类型。 三、函数模板 1、函数模板的定义 template <typename原创 2020-10-07 10:16:56 · 230 阅读 · 0 评论 -
标准C++06
一、虚析构 当使用delete释放一个父类指针时(父类引用),不管指向的是父类对象还是子类对象,都只会调用父类的析构。 当使用多态特性时,如果子类中有需要析构释放的资源,为了避免内存泄漏就需要把父类的析构函数设置为虚函数。 当父类的析构函数为虚函数时,子类的析构会自动覆盖它而不用比较它们的名字,当通过父类或引用来释放子类对象时会自动调用子类的析构函数。 二、文件流 C++把对文件的操作封装到了类中。 ifstream 输入文件流 ofstream 输出文件流 fstream 输入/输出文件流 1、打开文件原创 2020-10-07 10:14:16 · 164 阅读 · 0 评论 -
标准C++05
一、类的继承 1、在解决问题时,先查看当前现在的类能否解决部分问题,如果可以则把旧的继承后再拓展来缩短解决问题的时间,降低解决问题的难度,继承就是为了让代码能够重复使用。 2、当面临一个复杂问题时,可以先把问题进行分层,每层的类解决一部分问题,然后通过继承进行汇总,最终得到一个解决问题的类。 二、继承的基本语法 1、继承表 一个子类可以继承多个父类,每个类的继承方式可以不同。 class 子类:继承方式 父类1,继承方式 父类2,… //继承表 { } 2、继承方式 public 公有继承 pri原创 2020-10-07 10:11:48 · 130 阅读 · 0 评论 -
标准C++04
一、运算符重载 C++中是运算符当作函数来看待,所以C++中的运算符可以重载,这样可以让类对象支持运算符,对类对象进行定制化操作。 例如:string类就支持很多运算符来代替标准库中的函数。 = strcpy += strlen ==|!=|>=|<= strcmp 二、双目录运算符重载 假如:Test a,b; a+b操作可以调用两种函数 Test的成员函数:a是触发者,b是参数 Test operator+(cosnt Test& b) const { return a+b; //原创 2020-09-19 10:37:50 · 250 阅读 · 0 评论 -
标准C++03
类的成员变量存储在每个类对象中(每个对象一份),成员函数存储在代码段中(所有的对象共享一份),那么成员函数是如何区分调用它的是哪个对象? 答:与C语言的解决方案一样,把对象的地址传递给成员函数,这样成员函数就知道是哪个对象在调用它,与C语言不同的是该操作是隐藏,编译器帮我们自动完成的,也就是类的成员函数都隐藏着一个参数,这个参数就是this指针。 this指针: 指向访问成员函数对象的指针,默认是隐藏的,但也可以显示使用。 对象调用成员函数时会自动计算它的内存地址传递给成员函数中的this,而在成员函数调用原创 2020-09-19 10:33:39 · 720 阅读 · 0 评论 -
标准C++02
一、面向对象与面向过程: 面向过程:关注解决问题的步骤,算法。 面向对象:关注的是谁能解决问题,需要什么样的数据(成员变量),具备什么样的功能(成员函数)。 抽象:找出或相像出一个能够解决问题的"对象",通过研究观察对象,找出c"对象"解决问题所必须的数据(属性)、功能(技能)。 封装:把抽象的结果归纳为一个结构,然后实例化出结构变量,然后结构变量中的数据和功能相互作用最终解决问题。 继承:在封装结构时,可以先分析结构需要的数据和功能现有的结构是具备,如果具备,可以继承现有的结构的代码,达到代码复用的目的。原创 2020-09-19 10:31:05 · 429 阅读 · 0 评论 -
标准C++01
C与C++的区别 int n(int as,bs,int n) { } 一、C++介绍 本贾尼·斯特劳斯特卢普,于1979年4月份贝尔实验室的本贾尼博士在分析UNIX系统分布内核流量分析时,希望有一种有效的更加模块化的工具。 1979年10完成了预处理器Cpre,为C增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes也就是C++。 C++与C的不同点: 1、C++完全兼容C的所有内容 2、支持面向对象编程思想 3、支持运算符、函数重载 4、支持泛型编程、模板 5、原创 2020-09-19 10:25:32 · 128 阅读 · 0 评论