![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
lei19950206
明明是个强人,天生一副熊样。。
展开
-
写冒泡排序可以排序一个整型数组
void bubbsort(int *arr,int len){ int flag = 0; assert(arr); for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - i - 1; j++) { flag = 1; if (arr[j]>arr[j + 1]) { swap(ar原创 2017-05-07 22:48:03 · 263 阅读 · 0 评论 -
-元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。
bool adjudge(int *in, int*out, int len_in, int len_out){if (in == NULL || out == NULL || len_in != len_out)return false;stack s;int i = 0;int j = 0;while (j {while (o原创 2017-07-20 19:23:20 · 816 阅读 · 0 评论 -
简单的贪吃蛇游戏实现
贪吃蛇功能实现:(1)定义贪吃蛇游戏棋盘图(2)初始化棋盘(3)输出棋盘所在信息(3)选择游戏难度(4)随机产生食物(5)更新游戏动态(6)设置游戏相应的操作(7)打印游戏结果代码实现:#include #include #include #include #include #include #原创 2017-07-04 10:54:14 · 329 阅读 · 0 评论 -
【C++】浅析C++中的对象模型
(一)不含有虚函数的单一继承模型:测试代码://单一继承,无虚函数class A{public: A(int a = 0, char c = 0) :_a(a) , _c(c) {} int GetA() { return _a;原创 2017-06-07 14:08:20 · 333 阅读 · 0 评论 -
函数重载
这篇文章,我将谈谈我自己对函数重载的简单认识。一开始,我们得明白,函数重载是什么??为什么要函数重载??函数重载可以做哪些事??函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。首先我先解释名字空间这个概念原创 2017-06-07 13:52:56 · 369 阅读 · 0 评论 -
参数缺省,引用
本篇文章将整理出关于参数缺省和引用的一些知识。(一)参数缺省:参数缺省包括全缺省和半缺省。顾名思义,全缺省就是函数的所有参数都给出默认值,半缺省就是仅有函数的部分参数给出了默认值。看下边的一段代码:#includeusing namespace std;int Add(int x, int y){ return x + y;}int main(){ int原创 2017-06-07 13:49:53 · 707 阅读 · 0 评论 -
关于c++中的this指针
记忆中,初识c++中的this指针的时候,根本不知道它是什么,有什么作用。再识,就知道了它的作用,也掌握了它背后的东西。this指针,就是一个指向当前对象的指针。我们知道,定义出一个类,它在内存中是不占空间的,只有定义了该类类型的对象时,系统就会为该对象分配一段存储空间,这段空间里只存储成员变量,对于成员函数,是存放在代码区的。(复习:内存分为5大区:静态区、常量区、栈原创 2017-06-07 13:48:23 · 290 阅读 · 0 评论 -
面向对象c++之继承
面向对象三大机制包括:1.封装,隐藏内部实现。2.继承,复用现有代码。(面向对象最显著的特征)3.多态,改写对象行为。继承,是一种复用的手段。是从先辈处得到属性和行为特征。类的继承就是新的类从已有的类那里得到已有的特征。类成员的访问限定有三种:public,protected,private,在类外可以访问类的公有成员,私有和保护都不可以访问。代码举例:#inc原创 2017-06-07 13:44:31 · 278 阅读 · 0 评论 -
c++中的重载,重写,重定义
c++中的几个容易混淆的概念:(1)重载:在同一作用域中,函数名相同,参数列表不同,返回值可同可不同的函数。关于函数重载的知识在《函数重载》这篇博客中有详细介绍。(2)重写:又叫覆盖,是指不在同一个作用域中(分别在父类和子类中),函数名,参数个数,参数类型,返回值类型都相同,并且父类函数必须有virtual关键字的函数,就构成了重写(协变除外)。协变:协变也是一种重写,只是原创 2017-06-07 13:42:55 · 309 阅读 · 0 评论 -
日历计算器
有时候,我们需要知道某个日期的多少天后是哪一天,或者多少天之前是哪一天,甚至需要计算两个日期之间隔了多久等等。此篇文章用来实现日历计算器,包括以下功能:1.日期加天数2.日期减天数3.日期减日期4.打印给定月份的日期下边就各个功能予以分析:【日期加天数】我们只需要在给定日期的day上加上天数,然后调整日期为正确的日期。比如:2016,8,18+20 = 2016原创 2017-05-07 22:20:03 · 494 阅读 · 0 评论 -
单链表的基本实现
单链表是方向单一的链表,即就是只能从前向后访问,不能从后向前访问。这篇文章,我将整理出单链表的一些基本功能。1.尾插 2.尾删 3.头插 4.头删5.打印 6.插入7.删除指定元素 8.删除指定元素的全部9.删除指定位置的元素10.排序(此文先给出基本的冒泡排序,其他排序算法之后再给出)下边,我就这些功能一个一个进行说明,尽量配图~~(这里的单链表不带头结点)原创 2017-05-08 13:21:10 · 287 阅读 · 0 评论 -
1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象
设计一个类不能被继承常规解法:将构造函数设为私有函数在C++中,子类的构造函数会自动调用父类的构造函数,子类的析构函数也会调用父类的析构函数。要想一个类不能被继承,只要把它的构造函数和析构函数都设置为私有函数。那么当一个类试图从那里继承时,势必会因为调用构造函数和析构函数而导致编译错误。可是这个类型的构造函数和析构函数都是私有函数,我们怎样才能得到该类型的实例呢?我们可以通过定义共有的原创 2017-07-25 08:48:42 · 362 阅读 · 0 评论