- 博客(7)
- 收藏
- 关注
原创 迭代器实现Vector
vector模型是一个动态数组,它本身是“将元素至于动态数组中加以管理”的一个抽象概念,但是c++标准并未要求以动态数组实作vector。 在使用标准库里面的vector时,必须包含头文件#include<vector> 其中型别vector是一个定义于namespace std的template。namespace std{ template<class T,class Allocator
2017-10-30 18:54:36 603
原创 什么是函数模板?
一、模板是什么? 所谓模板(templates),就是针对“一个或者多个尚未明确的型别”所撰写的函数或者类别,使用模板时,可以显式地(explicitly)或隐式(implicitly)将型别当作参数来传递。下面是一个例子:template<class T>//T为任意类型 inline const T& max(const T& left,const T& right) //可以定义为内联函数,
2017-10-22 20:36:17 2616
原创 双向链表(c++封装)
双向链表是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。结构图如下所示:其中_pPre是双向链表的前驱结点,_pNext是它的后继结点,_data是数据域 代码实现:#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<ass
2017-10-21 20:25:47 567
原创 深入多态—虚表指针
上一篇就多态做了简单的介绍,但还是对多态的运行很迷,那我们就来虚函数内部是怎么操作的?(一)单继承中的虚函数(无虚拟继承)#include<iostream> using namespace std; class A { public: virtual void Funtest1() { cout<<"A::Funtest1()"<<endl; } v
2017-10-17 19:58:45 325
原创 初识多态
什么是多态? 顾名思义,多态就是一个事物多种形态; 在面向对象层次来说,多态解释为:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为。 在c++中,多态性表现形式之一是:具有不同功能的函数可以用同一个函数名,这样就可以实现用一个函数名调用不同内容的函数;简单点说就是:“一个接口,多种方法” 多态性的分类: 所谓静态变量:编译器在编译期间完成的,编译器根据函数实参的类型(
2017-10-14 23:53:25 201
原创 继承(知识点汇总)
在c++中可重用性是通过“继承”这一机制来实现的。。。。。 1.那么什么是继承呢?用代码举个最简单的继承例子(单继承方式)class A { public: int _a; void Display1() { cout<<_a<<endl; } }; class B:public A //B公有继承了A { public: int _b;
2017-10-03 13:52:35 324
原创 String类的实现(深拷贝or浅拷贝)
今天,我们来实现一个字符串String的拷贝(String用来管理字符串)~具体以浅拷贝和深拷贝的形式给出~ 那么问题来了?什么是浅拷贝呢?深拷贝又是什么呢? 浅拷贝就相当于你喜欢一个人的感觉,而深拷贝相当于你爱一个人的感觉 我们都知道say like很容易,因为可能是他/她的外表所吸引,但是,say love却很难,因为你只有深入了解了他的本质才会爱上他~ 浅拷贝:
2017-10-01 20:35:59 508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人