C/C++语言
TinySunny
这个作者很懒,什么都没留下…
展开
-
C++的三种继承机制以及继承机制对三种访问权限(public, protected, private)的影响
(1)public(公有继承):继承时保持基类中各成员属性不变并出现在派生类中,但基类中private成员被隐藏(不可访问),即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有和保护成员。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。 而无论派生类的成员还是对象都无法访问基类的私有成员。原创 2014-10-29 16:07:10 · 982 阅读 · 0 评论 -
C/C++中的static关键字
1. 序言术语static有着不寻常的历史. 起初,在C中引入关键字static是为了表示退出一个代码块后仍然存在的局部变量。 随后,static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数。为了避免引入新的关键字,所以仍使用static关键字来表示这第二种含义。 最后,C++重用了这个关键字,并赋予它与前面不同的第三种含义:表示属于一个类而不是属于此类的任何特定对象的变量原创 2016-01-20 16:26:05 · 428 阅读 · 0 评论 -
C/C++术语知识大杂烩
1. 命名空间创建的每一个类、函数和变量都只能在一定的区域内使用。最大的区域是全局;最小的区域是以 {} 包裹的代码段。 随着程序变得越来越复杂,全局作用域里的东西会越来越多,尤其是在使用外部函数库时。为了防止重名,可以使用命名空间将相关的变量和函数名放置在一个命名空间中,只需要保持空间中的变量名是独一无二的即可。对于系统,只需要确定可数的命名空间名称是独一无二即可。不同命名空间中的变量可以重名,原创 2015-12-22 17:30:46 · 612 阅读 · 0 评论 -
探究二维数组
1. 引言对N x M的二维数组来讲,设其数组名为array。指针array指向一个数组,该数组存放的是一系列指针,这些指针分别指向相应的一维数组,而这些数组中存放的才是我们的数据。2. 二维数组声明和定义2.1 静态分配内存int array[3][10]; //定义int array[3][10] = {{0},{0},{0}}; //初始化extern int array[3][10];原创 2015-12-21 20:26:58 · 555 阅读 · 0 评论 -
C语言中的文件操作
本次详细介绍C下文件的各种API.1. 文件的打开与关闭1)打开文件FILE *fopen( const char * filename,const char * mode);返回文件句柄,非NULl为正确打开。 2)关闭文件int fclose( FILE * stream);例子: FILE * pSrc = fopen("DATA5610.TXT", "r"); if (原创 2015-12-21 18:08:05 · 339 阅读 · 0 评论 -
数值交换模板函数
//交换数据template <typename type>void Swap(type * lhs, type * rhs); //lhs = left hand side; rhs = right hand sidetemplate <typename type>void Swap(type * lhs, type * rhs){ type temp = *lhs; *lh原创 2015-12-21 17:22:11 · 356 阅读 · 0 评论 -
字符串处理-字符串和整数之间的转换
1. 字符串转化为整数由于字符串初始化时,可以用字符进行赋值"ster"或者 'A'经赋值。相对应的,整数字符串,如"89763",或者单个字符,可以直接由整数赋值,如char c=65;,那么,c按照字符的表现可以被识别为A。而且,单个字符在计算机中是以整数的形式进行保存的,所以,在将字符串转换为整数时,需要区别对待。1.1 第一种:字符串为真正意义上的字符串赋值,即字符串上每个字符为 char原创 2015-12-21 17:18:41 · 746 阅读 · 0 评论 -
宏定义-#define用法
#define 是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率.并且,宏的替换发生在预编译阶段,不会影响程序的动态执行效率。1. #define 命令剖析1.1 #define的概念 #define 命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。 该命令有两种格式:一原创 2015-12-21 16:53:05 · 716 阅读 · 0 评论 -
指针-动态数组的建立
一、一维动态数组的建立1.1 malloc 数组的建立: int * p = (int *)malloc(sizeof(int)*n);数组的删除: free(p);1.2 new 数组的建立: int * p = new int[n];数组的删除: delete [] p;二、二维动态数组的建立2.1 malloc 数组的建立:int ** p = (int **)m原创 2015-12-21 13:07:10 · 640 阅读 · 0 评论 -
链表-单向链表-值传递&地址传递
单向链表的实现,并分析了指针传递过程中出现的一些问题和思考原创 2015-12-20 23:13:15 · 2428 阅读 · 0 评论 -
C++中extern关键字
1. 序言extern是一个关键字,它告诉编译器程序中存在着一个变量或者一个函数,如果在当前编译语句的前面中没有找到相应的变量或者函数,也会在当前文件的后面或者其它文件中定义。因此,extern的功能主要为声明外部有一个可用的函数或者变量(通常,这些变量时在cpp或者c文件中定义的),而且这些变量和函数是全局可见的。2. 现代程序编译流程简要介绍在具体讲述extern之前,觉得十分有必要介绍下现代程原创 2016-01-20 19:09:22 · 6148 阅读 · 1 评论 -
Windows下,文件(夹)选择/打开对话框的三种创建方式
Windows编程时,常用到打开文件(夹)对话框,选择文件或者多个文件的功能。Windows提供了好几种方式,现在做个总结,也好方便以后的使用。原创 2017-01-03 20:49:04 · 11403 阅读 · 1 评论