C++三大特性之多态性

1.多态的概念 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象变成领域的核心概念。多态(polymorphion),就是多种形态。 2.多态的实现(晚绑定-->虚函数) C++多态性是通过虚函数来完成的,徐哈市南湖允许子类重新定义成员函数,而子类重新...

2016-08-19 08:27:21

阅读数:262

评论数:0

【C++】智能指针的作用,模拟实现auto_ptr,scoped_ptr,shared_ptr,scoped_array,shared_array

RAII(Resource Acquisition Is Initialization):资源分配即初始化,定义封装一个类,用来实现调用构造函数时就可完成资源的分配和初始化,在调用析构函数就可完成资源的清理,以实现对资源的初始化和清理。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是...

2016-05-30 17:18:19

阅读数:202

评论数:0

【C++】类型萃取技术实现静态顺序表

类型萃取是一种常用的编程技巧,其目的是实现不同类型数据面对同一函数实现不同的操作,它与类封装的区别是,我们并不用知道我 们所调用的对象是什么类型,类型萃取是编译后知道类型,先实现,而类的封装则是先定义类型,后实现方法。在这里我们可以用模板的特化实现其编程思想。我们以memcpy为例,当我们拷贝的是...

2016-05-30 17:18:15

阅读数:150

评论数:0

【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)

适配器:将一个通用的容器转换为另外的容器,所谓的容器,指的是存放数据的器具,像我们知道的顺序表和链表都是容器Container。举个例子解释一下吧,我们的电压都是220v,而像充电线就起到转换到合适的电压的作用。而这里,我们的主角就是将通用的链表结构转换为来实现队列Queue这一数据结构,(意思就...

2016-05-30 17:18:10

阅读数:1019

评论数:0

【C++】容器适配器实现栈Stack的各种功能(入栈、出栈、判空、大小、访问所有元素等)

容器适配器实现栈Stack的各种功能:我们知道,顺序表的特点是:相对比于链表插入和删除数据方便,无需像链表一样遍历来访问。因此,我们用容器适配器选择顺序表的模型来实现栈的各种功能。#include using namespace std; #include template class SeqL...

2016-05-30 17:18:06

阅读数:138

评论数:0

【C++】模版实现双向链表的各种操作(如:逆置、去重Unique、分类(冒泡)、合并)

在cplusplus.com里,我们可以搜索list来查看库是如何实现双向链表的。当然,我们也可以在平时使用时包上头文件list来调用C++里的list库。在这里,我今天就不再赘述用C语言或者C++未引入模版这两种场景来向大家分享双向链表了,而是注重多类型都可以使用双向链表。也就是我们今天的主题:...

2016-05-30 17:18:03

阅读数:173

评论数:0

【C++】认识模版函数

模板是泛型编程的基础。所谓泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板分为模板函数和模板类。    首先,我们不使用模版函数,该函数用来实现比较两个数是否相等。bool IsEqual(int left, int right)//--->int型 {     return l...

2016-05-30 17:18:00

阅读数:130

评论数:0

【C++】模版类实现普通类静态顺序表

在C或C++里,我们已经学会了如何实现一个静态顺序表了,那为何还要引入模版类来实现静态顺序表呢?首先,我们看,在未引入模版前,我们在C++里是这样定义一个静态顺序表的:typedef int DataType;    //此时我定义的是int型 class SeqList {     DataT...

2016-05-30 17:17:57

阅读数:134

评论数:0

【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态

实现基类(父类)以及派生类(子类),验证继承与转换--赋值兼容规则:子类对象可以赋值给父类对象(切割/切片)父类对象不能赋值给子类对象父类的指针/引用可以指向子类对象子类的指针/引用不能指向父类对象(可以通过强制类型转换完成)#include using namespace std; class...

2016-05-30 17:17:54

阅读数:173

评论数:0

【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)

#define _CRT_SECURE_NO_WARNINGS 1 #include using namespace std; //单链表的实现 #include typedef int DataType; typedef struct SListNode {     DataType ...

2016-05-30 17:17:51

阅读数:168

评论数:0

【C++】实现双向链表的所有操作,包括逆置双链表(三种方法)

建立源文件List.cppinclude "List.h" int main() {     Test();     system("pause");     return 0; }建立头文件List.h#ifndef __LISH_H__ #define...

2016-05-30 17:17:48

阅读数:339

评论数:0

【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。

建立源文件,命名为:Slist.cpp。#include"Slist.h" int main() {     Test();     system("pause");     return 0; }建立头文件,命名为:Slist.h。#ifndef __SL...

2016-05-30 17:17:45

阅读数:152

评论数:0

【C++】实现动态顺序表的PushBack(),PopBack(),PushFront(),PopFront(),Find(),Insert

建立源文件SeqList.cpp:#define _CRT_SECURE_NO_WARNINGS 1 #include"SeqList.h" int main() {     Test();     system("pause");     return...

2016-05-30 17:17:42

阅读数:180

评论数:0

【String类】C++:String类的传统写法与现代写法

传统写法:#include #include using namespace std; class String { public:     //构造函数是用系统传入的str去构造_STR     String(char* str = "")         :_str( n...

2016-05-30 17:17:39

阅读数:120

评论数:0

【String类浅拷贝的实现】C++:String类引用计数浅拷贝的两种实现

第一种:    只采用_str一个变量,利用强制转换前后偏移,获取存取计数的位置,以及存放字符串的位置。 #include #include #include using namespace std; class String { public:     String(char* str = &...

2016-05-30 17:17:36

阅读数:118

评论数:0

C语言:【动态顺序表】动态顺序表的在指定位置插入元素Insert,以及指定元素Find

#include #include #include #include #include typedef int DateType; typedef struct SeqList {     DateType *arr;     size_t capacility;     size_t size...

2016-05-30 17:17:30

阅读数:185

评论数:0

C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack

#include #include #include #include #include typedef int DateType; typedef struct SeqList {     DateType *arr;     size_t capacility;     size_t si...

2016-05-30 17:17:27

阅读数:143

评论数:0

c语言:【顺序表】静态顺序表的删除指定位置元素Erase、删除指定元素Remove

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define MAXSIZE 1000 typedef int DateType; typedef struct SeqList {     DateT...

2016-05-30 17:17:24

阅读数:183

评论数:0

c语言:【顺序表】静态顺序表的在指定位置插入元素,以及查找指定元素

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define MAXSIZE 1000 typedef int DateType; typedef struct SeqList {     DateT...

2016-05-30 17:17:21

阅读数:197

评论数:0

C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题

浅拷贝:实现不了,由于两个指针指向同一块空间,则空间释放时会释放两次,导致程序奔溃。这也是深拷贝与之不同要改进的地方。    深拷贝:重新开辟空间,将原来的空间拷贝过来,再把值复制过来。(采用String的现代写法)深拷贝:#include #include using namespace std...

2016-05-30 17:16:51

阅读数:225

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭