c++
文章平均质量分 75
-yyqx-
这个作者很懒,什么都没留下…
展开
-
c++---容器适配器
容器适配器 容器适配器是模板类的一种应用。适配器是什么?适配器就是将外部给予的东西转换成为自己可以使用的东西。可以不用自己实现相关操作。适配器就是用现已有的结构重新封装,得到想要的结构。 主要举例说一说队列与栈。我们都知道队列的最大特性是先进先出,所以它的相关主要操作就是入队列出队列,对应的就是尾插、头删。所以我们可以用链表来适配队列,因为顺序表的头删很麻烦,需要挪动数据。栈是...原创 2018-05-16 19:55:18 · 197 阅读 · 0 评论 -
c++---模板(template)的使用以及顺序表链表的模板类实现
Template 模板一. 模板的概念说到模板,就要提到泛型编程,那什么是泛型编程呢? 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。 模板就是泛型编程的基础。模板就是用来实现泛...原创 2018-05-16 16:57:26 · 881 阅读 · 0 评论 -
c++---多态对象模型
动态规划原创 2018-05-16 13:56:04 · 200 阅读 · 0 评论 -
c++---非类型的类模板参数、类模板的特化、模板的分离编译
模板原创 2018-05-22 12:17:27 · 3954 阅读 · 0 评论 -
c++---继承(二)
继承 上一次说了关于继承的基本概念,这次来看一看关于继承的更深层次的东西。一. 赋值 在c++中可以将一个对象赋值给另一个对象。但是这两个对象必须是继承关系,即一个是子类对象,另一个是父类对象。并且他们之间的继承关系必须是public(公有)继承。 有如下几种赋值方式: 1. 子类对象可以赋值给父类对象(切割/切片) 2. 父类对象不能赋值给子类对象 ...原创 2018-05-06 14:43:58 · 242 阅读 · 0 评论 -
C++---实现简单的带头循环双向链表
C++实现简单的带头循环双向链表 带头双向循环链表听着感觉好像很难的样子,其实,它的实现相对比较简单,它的前驱结点与后继结点都已知,也不需要再遍历得到指针。 在构造链表的时候,记得要初始化头结点。还有在操作前后指针的时候,要记得将指针保存好,得理清楚这几个结点的关系,不然就会导致有些结点丢失。 List.cpp#include <iostream>#in...原创 2018-04-19 13:03:39 · 848 阅读 · 0 评论 -
c++---实现动态线性表
c++实现动态线性表 之前在学习c语言的时候用c语言实现了动态线性表。现在再使用c++实现一下动态线性表。 相关数据结构方面就不多说了。在之前的博客里也有。下面就直接来实现吧。 这里使用指针来遍历数组,这样在算size,capacity的时候,直接用指针相减的方式就可以得到元素个数,以及容量。Vector.h#include <iostream>...原创 2018-04-19 12:01:09 · 694 阅读 · 0 评论 -
c++---类的继承
c++中的继承 继承是c++中一个很重要的概念。一. 继承的概念 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。继承是面向对象中类被复用的重要手段,通过继承定义一个类,继承是类型之间的关系建模,共...原创 2018-04-22 18:48:33 · 210 阅读 · 0 评论 -
c++---类的内联函数,const修饰的函数,友元函数,静态成员
类的内联函数,const修饰的函数,友元函数,静态成员一.类的内联函数。 内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。1.在类中被inlin...原创 2018-04-06 10:17:11 · 392 阅读 · 0 评论 -
c++---了解c++中浅拷贝,深拷贝,引用计数,写时拷贝以及c++中string类的模拟实现
以下我们都用string类来说明。一. 浅拷贝 首先我们来说一说浅拷贝,浅拷贝是什么呢?浅拷贝就是指将拷贝时只将指针拷贝过来了,和被拷贝的内容指向的是同一块空间。这样就会出现不想要的结果。当有一个指针想要对其这块空间进行修改,那么这时,并不是只有一个指针指向这里,而还有别的指针。所以这里是一块共享的内存空间,那么有其中一个对其改变,其余指针的内容也将受到影响,这样就会影响其它...原创 2018-04-15 21:28:40 · 306 阅读 · 0 评论 -
c++---c与c++的动态内存管理
c与c++动态内存管理首先我们来看看它们都是怎么使用的吧。mallocvoid *malloc( size_t size );calloc//num:开辟的这块空间有多少个元素//size:每个元素的字节数void *calloc( size_t num, size_t size );realloc//memblock需要扩容的指针//size 需...原创 2018-04-14 18:06:35 · 271 阅读 · 0 评论 -
c++---类的默认成员函数
类的默认成员函数类的组成包括数据成员与成员函数。在类中一共有有六个默认成员函数,构造函数拷贝构造函数析构函数赋值操作符重载取地址操作符重载const修饰的取地址操作符重载利用一个实例(日期类)进行举例 先是定义一个日期类class Date{ public: void show(); private: int _year; ...原创 2018-03-24 17:16:45 · 256 阅读 · 0 评论 -
c++---c++引用的相关总结
c++引用的的相关总结在c++中新增加了一个语法,叫引用。引用是给一个已经定义好的变量取别名,这个别名本身并不创建空间。一. 引用一般的格式是:类型& 引用变量名=已定义过的变量;例如: int a=9; int& b=a; 这两句的意思就是:先定义一个变量a,用b对a进行引用,b就是a的一个别名。若是见到类型后跟一个 &...原创 2018-03-13 18:03:15 · 315 阅读 · 0 评论 -
c++---c++入门
—从今天开始学习c++,这是这两天学习的一些小总结。首先是创建工程时C++文件后缀为 .cpp,输入输出也与之前学的C语言不一样,输出用的是cout,而输入用的是cin,cout << i<< endl;cin >> i;这里可以将cout cin看作是终端,<<可以看做是流向的意思,将i的值传送到终端,输出在屏幕上,end...原创 2018-03-13 17:14:57 · 905 阅读 · 0 评论 -
c++---类与对象
一. 类与对象 二 .声明类类型 三. 定义对象的方法 四. 成员函数的声明与定义 五. 成员函数的存储方式 六.空类一 . 类与对象对象:客观世界中的任何一个事物都可以看成一个对象, 任何一个对象都应当具有两个要素,即属性和行为。对象是由一组属性和一组行为构成的。类:类代表了某一批对象的共性和特征。类与对象的联系:类是对象的抽象,...原创 2018-03-17 17:05:00 · 238 阅读 · 0 评论 -
c++---单继承、多继承
一. 单继承二. 多继承多继承:一个子类有两个或以上的直接父类。 有了多继承这种机制,就会出现一个问题,可能会有菱形继承的问题 菱形继承: 这样会产生什么样的结果呢?class A{public: //A();protected: int _a;};class B : public A{public: //B();prote...原创 2018-05-23 16:42:08 · 6707 阅读 · 1 评论