![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
文章平均质量分 80
xiaoqiudao
这个作者很懒,什么都没留下…
展开
-
STL模板库
STL模板库STL是Standard Template Library缩写,中文名字叫标准库模板,由惠普实验室提供,共有三类内容:算法:以函数模板形式实现的常用算法,如:max、min、swap、find、sort容器:以类模板形式实现的常用数据结构,如:栈、队列、链式表、顺序表、红黑树迭代器:它是容器的成员,用于帮助访问容器中的元素,使用方法类似于指针find#include <algorithm>iterator find( iterator start, iterator e原创 2021-06-09 09:58:49 · 179 阅读 · 0 评论 -
C++模板技术
一、什么是模板是一种自动生成代码的技术,这种技术能让程序员在编写代码时不需要考虑数据类型,这种技术被称为泛型编程技术二、为什么使用模板1、C/C++是一种静态编程语言(预处理->编译->汇编->连接->可执行文件),静态语言的优点就是运行速度比较快,而缺点是实现通用的代码比较麻烦。任务:实现一个通用的快速排序算法。2、借助回调模式实现通用代码,实现难度高,使用也比较麻烦。3、借助宏函数实现通用代码,类型检查不严格、没有返回值、容易出错。4、借助函数重载实现通用代码,会使原创 2021-06-09 09:58:06 · 734 阅读 · 0 评论 -
C++文件IO
一、I/O流 C++把对文件的读写操作都封装在了以下类中: ofstream 对文件的写操作,继承了ostream类的功能 ifstream 对文件的读操作,继承了istream类的功能 fstream 对文件的读写操作,继承了ofstream、ifstream类的功能二、C++对文件进行读写的步骤:1、创建流对象,打开文件#include <fstream>void open( const char *filename);void open( const char *原创 2021-06-09 09:57:37 · 177 阅读 · 0 评论 -
继承、多态、虚函数 工厂模式
一、什么是继承1、当我们解决问题时,先查看现有的类能否解决一部分问题,如果有则继承该类,在此类的基础上进行拓展来解决问题,来缩短解决问题的时间(代码复用)2、当遇到一个复杂问题时,可以先把复杂问题分解成若干个小问题,如何为每个问题设计一个类进行解决,最终通过继承语法把这些类汇总到一个类中,达到解决问题的目的,以此降低解决问题的难度,同时也可以让多个程序员同时解决该问题二、继承的语法1、继承表class Test : 继承表[继承方式 父类]{ 成员变量;public: 成员函数;}2原创 2021-06-09 09:56:53 · 227 阅读 · 0 评论 -
重载运算符(友元 哑元)
一、运算符函数在C++中会把运算符当作函数处理,一个表达式其实是调用了很多运算符函数完成计算的,这种特性对内建类型没有用,但是对自建类型数据,却可以进行个性化设计,提高代码的可读性和易用性,如:string类String str;str += “hehe”;str1 == str2运算符函数的格式:单目运算符: #o | o# 会被编译器解释为 成员函数: [] o::operator#(void) { } 返回值不确定,唯一参数是调用者 全局函数:原创 2021-06-09 09:55:34 · 321 阅读 · 0 评论 -
C++基础day04
拷贝构造与赋值操作 拷贝构造是一种特殊的构造函数,格式为: 类名(const 类名& that) // 可以但不限制const { } 什么时候调用拷贝构造: 当使用旧对象给新对象初始化时,会自动调用拷贝构造 Test t; Test t1 = t; // 会自动调用拷贝构造 拷贝构造的任务: 顾名思义拷贝构造负责把旧对象中的成员变量拷贝给新对象,且编译器默认就会生成具有该功能的函数什么时候应该显式实现拷贝构造: 普通情况下编译器生成的拷贝构造完全够原创 2021-06-09 09:52:23 · 61 阅读 · 0 评论 -
C++基础day03
一、对象的创建和销毁过程1、对象的创建过程a、给对象划分内存空间(栈、堆)b、执行初始化列表 根据继承表顺序调用父类的无参构造函数,也可以调用有参构造,类名(参数) 根据成员的定义顺序调用类类型成员的无参构造函数,也可以调用有参构造,成员名(参数) 初始化其它成员c、执行构造函数,申请资源2、对象的销毁过程a、执行析构函数,释放资源b、根据成员的定义顺序,逆序调用类类型成员的析构函数c、根据继承表顺序,逆序调用父类的析构函数原创 2021-06-09 09:51:17 · 61 阅读 · 0 评论 -
C++基础day02
一、默认形参1、什么是默认形参在C++中可以给函数的参数设置默认值,当函数被调用时如果调用者提供了实参则使用实参,如果没提供则使用默认值。2、默认形参要靠右如果函数有多个参数,设置了默认形参要从右到左连续排列。3、只在声明设置设置默认形参如果函数的声明和定义分开实现,只在函数声明时设置默认形参即,否则会出现语法错误。4、默认形参可能会影响重载的效果如果对函数进行了重载双设置的默认形参,调用时可能会造成冲突。因此为重载过的函数设置默认形参时一定要慎重。三、内联函数1、普通函数原创 2021-06-09 09:50:43 · 78 阅读 · 0 评论 -
C++基础day01
一、C++介绍本贾尼 . 尼特芝斯特鲁普, 于1979年4月份在贝尔实验室在分析UNIX系统分布内核的流量时,特别希望有一种更加模块化的工具,于是在1979年10月开始着手开发一种新的编程语言,在C的基础上增加了面向对象机制、这就是C++,在1983年完成了C++的第一个版本。C++与C的重要区别: 1、C++完全兼容C的所有内容 2、支持面向对象的编程思想 3、支持运算符重载、函数重载的编译时多态机制 4、泛型编程、模板 5、支持异常处理 6、类型检查更严格 注意:学习C+原创 2021-06-09 09:49:16 · 67 阅读 · 0 评论