C++
文章平均质量分 73
z517602658
一段年代久远的C++代码
展开
-
C++ 多态&虚函数表 总结
首先我们来简单介绍下多态,多态顾名思义是多种形态的意思。在C++中多态又分为静态多态和动态多态。静态多态中包括重载和泛型编程,是在编译期间完成,编译器根据实参类型(可能会隐式类型转化)确定调那个函数。应注意:宏替换是在预处理期间完成所以不是静态多态。而动态多态是虚函数的调用,编译器在执行期间判断所引用对象的实际类型。动态绑定的条件:1.基类必须是虚函数并且在派生类中重写2.通过基类的指原创 2017-02-27 22:52:39 · 580 阅读 · 0 评论 -
C语言实现顺序表--静态
///////////////////////////C语言实现静态顺序表///////////////////////#include#include#define MaxSize 5typedef int DataType;typedef struct SeqList{ DataType arr[MaxSize]; size_t size;}SeqList,*pSeqLi原创 2017-04-12 18:11:06 · 668 阅读 · 0 评论 -
C语言实现单链表
#include#include#includetypedef int DataType;typedef struct Node{ DataType data;//数据域 struct Node* next;//保存下一个节点地址的指针域}Node,*PNode;void InitList(PNode* pHead)//初始化 传二级指针{ assert(pHead);原创 2017-04-12 18:08:58 · 616 阅读 · 0 评论 -
C++关于异常
在介绍C++异常处理之前先回顾一下在C语言中我们是如何来处理异常的。1、终止程序(除数为零)2、返回错误值(errno,GetLastError()获取系统出现的最近的错误码)3、返回合法值,让程序处于某种非法状态(atoi函数)4、调用程序预先准备好的在出现错误时用的函数(回调函数)5、直接退出,暴力解决(abort(),exit()函数)6、使用goto语句7、se原创 2017-03-26 12:17:30 · 265 阅读 · 0 评论 -
高级冒泡排序-->用模板仿函数再次实现
#includeusing namespace std;///////////////////////////使用模板类及仿函数来实现冒泡排序///////////////////////////////template class Great { public: bool operator()(T& left, T& right)//重载() { return原创 2017-03-21 20:59:49 · 329 阅读 · 0 评论 -
C++ 模板
当我们在编写一个通用的加法时,首先我们会想到函数重载,就像下面这段代码int Add(const int left,const int right){ return left + right;}float Add(const float left,const float right){ return left + right;}int main(){ cout<<Ad原创 2017-03-10 19:01:11 · 243 阅读 · 0 评论 -
C++ 日期类函数 完善
#includeusing namespace std;class Date{public: friend ostream& operator<<(ostream& _cout,const Date& d)//友元函数,取ostream的引用使返回值连续输出 { _cout<<d._year<<"-"<<d._month<<"-"<<d._day<<endl; return原创 2017-03-05 11:23:39 · 461 阅读 · 0 评论 -
浅析C++标准库与boost库中的智能指针
什么是智能指针呢,它是行为类似于指针的类对象,但这种对象还有其他功能。我们为什么要封装智能指针类对象呢?这是因为C++中的动态内存需要用户自己来维护,动态开辟的空间,在出函数作用域或者程序正常退出前必须释放掉,否则会造成内存泄漏,所以我们会定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。再来看下面一段程序,这里一段空原创 2017-04-04 23:43:41 · 565 阅读 · 0 评论