
c++
_吟游诗人
在昨天的未来里活成回忆
展开
-
自己用c++写的简单成绩管理系统框架
这个只是个框架,有关排版问题并没有认真处理,可以借鉴下思路原创 2016-04-15 14:20:51 · 850 阅读 · 0 评论 -
C++函数的默认参数
C++在函数上面花了不少功夫,这个默认参数确实是挺实用的。所谓默认参数就是在不给实参、或者不给够实参的情况下,正常调用函数,且函数那些没给的参数自动赋上默认值。它有几个要求:必须给全部形参设置默认参数,或者就只能从右往左设置默认参数(不这样的话编译器不知道在传实参的时候究竟是传给谁的)如果某个函数存在函数声明,那么就不要在函数定义的地方设置默认参数了,而应该在函数声明的地方设置默认参数。...原创 2019-02-20 22:48:07 · 671 阅读 · 0 评论 -
C语言与C++的函数原型(函数声明)的区别
所谓函数原型,又称函数声明,就是在调用这个函数之前要先声明一下这个函数,才能让别的函数能够访问到它(如果这个函数定义在调用它的代码块的前面则不用声明)C语言和C++都保留了函数声明这一需求,在声明时都有如下要求:返回值类型与原函数必须相同形参表的类型与顺序必须与原函数相同,但是函数原型可以不写形参名称,即便写了形参名称也可以和原函数不一样但是有一个很细微但是很重大的区别(以下代码均为函...原创 2019-02-20 22:39:30 · 5082 阅读 · 0 评论 -
C++的引用
“引用”即“别名”,即是某对象的另一个名字。引用的主要用途是为了描述函数的参数(就是形参)和返回值。特别是用于运算符的重载。引用的定义格式:类型& 引用名=变量名;废话少说,看个例子:#include<iostream>using namespace std;int main(){ int i=9; int& ir=i; cout&原创 2019-02-20 22:26:35 · 194 阅读 · 0 评论 -
指针函数与函数指针
指针函数是函数,函数指针是指针指针函数是返回值为指针的函数函数指针是指向函数的指针关于用法就不造轮子了:https://blog.csdn.net/luoyayun361/article/details/80428882...原创 2019-02-20 21:42:12 · 160 阅读 · 0 评论 -
void指针
void指针是一种非常特殊的指针,它可以指向的类型是不确定的,可以作为函数的形参,用来表示可以接受任意类型的参数,也可以作为函数的返回值,表示返回值类型的不确定性,而在使用到返回值的时候再对其加以显式转换。举个例子:int a = 6;double b = 5.9;void* c = &a;cout<<"a: "<<a<<endl;cou...原创 2019-02-20 18:53:16 · 297 阅读 · 0 评论 -
const* 和 *const
const*和*const的区别也是老生常谈了,其实也很简单。比如int const*a;,实际上可以看成是int const (*a),这表示指针a所指向的地址可以变,但是所指向的那个值不能变。而int *const a;,可以看成int* (const a);,我们都知道a的值其实是一个地址,这就表示a所保存的地址是不可以变的,但是这个地址对应的值是可以变的。举个*const的例子: ...原创 2019-02-20 18:35:46 · 31268 阅读 · 14 评论 -
指针数组和数组指针
指针数组是一个数组,数组里的每一个元素都是一个指针如:int *a[10];数组指针是一个指针,这个指针指向这个数组。如:int (*a)[10];注意两者写法上的区别,这是因为()优先级高于[],而[]优先级高于*下面简单讲一下用法:指针数组:将指针数组b指向二维数组aint a[2][3];int *b[2];for(int i = 0; i < 2; i++)...原创 2019-02-20 18:16:06 · 129 阅读 · 0 评论 -
c++的const
C语言中是没有const的,一般都使用#define#define有一个很显著的缺陷就是它在定义的时候不会去检查是否合法,它只是作了一个单纯的字符替换,甚至编译都不会去检查,使用不当则容易出现运行时错误。可能是出于此考虑吧,C++就引入了一个const来专门用来修饰常量。const它自然就是修饰常量咯,它修饰的常量必须在定义时初始化,且一经定义就不允许修改了。注意和java的final区分...原创 2019-02-20 17:55:57 · 179 阅读 · 0 评论 -
C、C++、java中的static区别
C中的static可以修饰局部变量(java不行),被static修饰的局部变量表示这个函数执行完后,这个变量不被释放,其值仍然保存着,然后下次访问该函数时,这个变量的值即为上一次函数执行完后它的值。同时C中如果用static修饰全局变量或函数,那么就表示该全局变量或函数不能被其他文件访问。C++中的static在类中的作用和java类似,都强调唯一性。C++中的static修饰变量的作用:...原创 2019-02-19 10:28:49 · 1265 阅读 · 0 评论 -
C++的重写(覆盖)、重载、重定义(隐藏)、多态
“重写(覆盖)、重载、重定义、多态” 绝对称得上是C++里一个比较经典的问题了,下面我们来层层剖析它。重写(覆盖)override重写又名覆盖,常见于子类继承父类的时候,子类重写父类的某些方法。有如下要求:父类中被重写的方法必须是virtual的子类中进行重写操作的那个方法,访问修饰符和父类的可以不同(即根据自身需要选择public、protected、private), 但是返回值...原创 2019-02-21 18:17:58 · 1107 阅读 · 0 评论 -
纯虚函数和抽象类
虚函数的定义就不啰嗦了,纯虚函数和虚函数类似,但是不提供实现!!!啥意思呢?见下面的例子:这个方法就是纯虚函数,别丢了后边那个=0,它是用来留给子类去实现的。这下大家或许会疑惑,那么包含了这个函数的类怎么创建对象呢?事实上这个类是创建不了实例的,因为包含了一个及以上个纯虚函数的类被称为抽象类。抽象类是不能创建实例的,但是可以创建指向其的指针和引用。它只能通过子类继承,并实现其所有纯虚...原创 2019-02-21 17:32:41 · 183 阅读 · 0 评论 -
C++的虚拟继承
转载 2019-02-21 16:42:47 · 174 阅读 · 0 评论 -
派生类构造函数、析构函数的定义和调用次序
转载 2019-02-21 16:29:01 · 224 阅读 · 0 评论 -
c++的继承方式——公有、保护、私有
c++的继承方式有三种,这点和java是不一样的,分别是公有、保护、私有。格式如下:class A {...};class B: [private | protected | public] A{ ...}其作用也很简单,就是改变父类的成员的可访问性。可访问性:public &gt; protected &gt; private因此三种继承方式下,子类对于父类的成员的可访问性为...原创 2019-02-21 15:57:53 · 277 阅读 · 0 评论 -
C/C++函数未运行,且显示Process returned -1073741571 (0xC00000FD)
我是在codeblocks中写了一个c++代码,出现的这个问题也是有点莫名其妙,因为没有编译错误也没用运行时错误,就是一个函数不执行了,经过我的调试后发现原因是:在函数内部初始化了一个相当大的数组,导致内存溢出,从而导致整个函数(即便是在初始化这个数组之前的代码)未执行,并导致整个程序直接退出!但是!!!这里的重点不在于定义了一个相当大的数组,而在于内存溢出!不仅仅是这一种情况,只要是出现了这...原创 2019-01-19 13:51:59 · 6740 阅读 · 2 评论 -
c++模拟简单词法分析器
编译原理的基础之一就是词法分析,这里便使用c++简单模拟了一个词法分析器。这个词法分析器的状态转换图如下: 而我的运行截图如下: 代码如下:#include<bits/stdc++.h>using namespace std;#define MAX_LEN 200//将一个字符串内容清空void clearArray(char *c){ ...原创 2018-04-12 11:35:29 · 1565 阅读 · 10 评论 -
由c++循环中局部变量地址不变而引发的思考
今天在用c++刷题的时候出现了一个bug,算法题所以免不了循环输入,而所有的代码自然也都嵌套在那个大循环中了。但是问题出现在:我在一个函数(不是main函数)的开头定义了一些局部变量(这个函数在程序中会被循环调用),但是既然是另外一个函数中定义的变量,我想着应该会在函数退出后自动释放了,那也就不需要每次循环都初始化一遍了。 然而事实上,如果不去给它初始化值的话,局部变量每次被声明后所在的地址是相原创 2018-01-05 19:42:36 · 2212 阅读 · 4 评论 -
C++的类
C++中既然有结构体了,并且在C语言基础上对结构体进行了优化,可以给结构体里面添加方法了,也可以设置访问权限了,那么为何还需要一个类呢?其实首当其冲的原因就是为了安全性,结构体默认访问类型是public的,而类的默认访问类型是private的。虽然在使用上类和结构体大同小异,但是也方便了不少,并且还是有一些需要注意的地方。首先,使用结构体时往往会要typedef xxx,否则用起来名称很长很...原创 2019-02-21 12:50:27 · 230 阅读 · 0 评论