![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 95
且行且思66
day day up
展开
-
C++之多态
C++之多态文章目录1.多态概念2.分类3.动态多态实现条件4.虚函数1.虚函数的重写2.虚函数重写的两个例外3.C++11 override 和 final4.重载、重写、重定义的对比5.抽象类6.多态原理7.虚函数表1.多态概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。例如:买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。2.分类静态多态:程序在编译期间已经确定了函数的行为(静态绑定||早绑定)原创 2022-05-31 16:36:50 · 165 阅读 · 2 评论 -
C++之继承
C++之继承文章目录1.继承概念2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元与静态成员6.总结1.继承概念概念:继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。定义格式:继承关系和访问限定符;继承基类成员原创 2022-05-30 20:43:38 · 273 阅读 · 0 评论 -
C++之stack和queue
C++之stack和queue文章目录1.stack的介绍和使用2.queue的介绍和使用3.priority_queue的介绍和使用4.容器适配器1.stack的介绍和使用介绍:stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容原创 2022-04-27 23:18:20 · 297 阅读 · 11 评论 -
C++之vector
C++之vector文章目录1.vector介绍2.vector使用及vector模拟实现1.vector的定义:2.vector iterator 的使用3.vector 空间增长问题4.vector增删查改5.vector的扩容机制3.迭代器失效1.什么是迭代器2.为什么迭代器会失效3.哪些操作会导致迭代器失效1.vector介绍vector表示可变大小数组的序列容器采用连续的空间存储元素,并且大小是动态可以改变的。vector使用动态分配数组来存储元素,当插入新元素时,这个数组要分配一原创 2022-04-15 16:58:23 · 2384 阅读 · 12 评论 -
C++string类
C++string类文章目录1.为什么要学习string类?2.标准库中的string类1.string类对象的常见构造2.string类对象的容量操作3. string类对象的访问及遍历操作4.string对象的修改操作5.string类成员函数3.string类的模拟实现(常用)1.实现string类的构造、拷贝构造、赋值运算符重载以及析构函数2.深拷贝1.为什么要学习string类?C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是原创 2022-04-05 09:25:34 · 334 阅读 · 11 评论 -
C/C++内存管理与函数模板
C/C++内存管理与函数模板文章目录1.C/C++内存分布2.C语言中动态内存管理方式3.C++内存管理方式4.operator new和operator delete函数5.内存泄漏6.泛型编程7.函数模板1.概念与格式2.函数模板原理:3.函数模板的实例化4.模板参数的匹配规则8.类模板1.类模板的定义格式2.类模板的实例化1.C/C++内存分布由下图来说明栈又叫堆栈,非静态局部变量、函数参数、返回值等,向下增长内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可以用系原创 2022-03-30 16:37:27 · 1523 阅读 · 15 评论 -
类和对象(下)
类和对象(下)文章目录1.再谈构造函数2.static成员3.友元4.内部类5.再次理解封装1.再谈构造函数构造函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。真正的初始化,初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。代码:class Date{public: Date(int year, int month, int day) : _year原创 2022-03-25 17:48:28 · 394 阅读 · 9 评论 -
类和对象(中)
类和对象(中)文章目录1.类的6个默认成员函数2.构造函数3.析构函数4.拷贝构造函数5.赋值操作符重载6.实现一个日期类7.const成员1.类的6个默认成员函数任何一个类在我们不写的情况下,都会自动生成下面六个默认成员函数2.构造函数构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有 一个合适的初始值,并且在对象的生命周期内只调用一次。构造函数是特殊的成员函数,需要注意的是,构造函数的虽然名称叫构造,但是需要注意的是构造函数的主要任原创 2022-03-24 23:09:10 · 119 阅读 · 19 评论 -
C++类和对象(上)
C++类和对象(上)文章目录1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的作用域5.类的实例化6.类的访问限定符及封装7.类的对象大小的计算8.类成员函数的this指针1.面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。2.类的引入C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。类:用来对原创 2022-03-24 09:01:41 · 1428 阅读 · 10 评论 -
C++入门
C++入门文章目录1.C++关键字2.命名空间3.C++输入输出4.缺省函数5.函数重载6.引用7.内联函数8.auto关键字for循环与指针空值1.C++关键字C++总计63个关键字,C语言32个关键字2.命名空间定义命名空间,需要用到namespace关键字,后面跟命名空间的名字,然后接{},{}里为命名空间的成员//1. 普通的命名空间namespace N1 // N1为命名空间的名称{// 命名空间中的内容,既可以定义变量,也可以定义函数 int a; int Ad原创 2022-03-22 17:14:49 · 221 阅读 · 11 评论