- 博客(19)
- 收藏
- 关注
原创 C++基础知识篇(四)——多继承、虚继承和虚基类、向上转型
一.多继承派生类都只有一个基类,成为单继承。除此之外,C++也支持多继承,即一个派生类可以有两个或多个基类。多继承的语法很简答,将多个基类用逗号隔开即可,例如已申明了类A、类B和类C,那么可以这样来声明类D。class D: public A, private B, protected C{ //类D新增加的成员}D 是多继承形式的派生类,它以公有的方式继承 A 类...
2019-06-23 14:55:03
364
原创 C++基础知识篇(三)——继承与派生
一.什么是继承?继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似。继承可以理解为一个从类从另一个类获取成员变量 和成员函数的过程。例如 B 继承于类 A,那么B 就拥有A 的成员变量和成员函数。被继承的类成为父类或者基类,继承的类成为子类或者派生类。派生类除了拥有基类的成员,还可以定义自己的新成员,增强类的功能。 ...
2019-06-22 20:51:40
267
原创 C++基础知识篇(二)——类和对象、构造函数、析构函数
一.类和对象(一)类的定义类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程,也叫做类的实例化。每个对象都是类的一个具体实例,拥有类的成员变量和成员函数 与结构体一样,类只是一种复杂数据类型的声明,不占内存空间。而对象是类这种数据类型的一个变量,或者是说通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间 类是用户自定义的类型,如果程序...
2019-05-31 20:51:55
420
原创 C++基础知识篇(一)——输入输出、命名空间、引用、函数特性
一.输出程序的基本组成1.cout 与 cinC++编程语言互换中的标准输入流,需要头文件 iostream格式:cin >> 变量1 >> 变量2 >> … >> 变量n; cout << 变量1 << 变量2 << 变量3 ....;#include <iostr...
2019-05-31 11:25:46
247
原创 多线程编程
一.多线程概述1.什么是线程:线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但是它可与同属于一个进程的其他线程共享进程拥有的全部资源2.线程与进程:Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当...
2019-04-27 19:50:15
130
原创 进程间通信
一.管道通信1.什么是管道:管道是单向的、先进先出的,它是把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道尾部写入数据,另一个进程(读进程)从管道的头部读出数据2.popen:两个程序之间传递数据的一种简单方法是使用popen和pclose。#include <stdio.h>FILE *popen(const char *command, c...
2019-04-27 17:48:49
131
原创 进程的基本概念及操作
一.进程的基本概念 1.进程与程序的区别?程序是放到磁盘的可执行文件 进程是指程序执行的实例 进程是程序的一次运行活动,属于动态的概念。程序是一组有序的静态指令,是一种静态的概念。但是,进程离开了程序也就没有了存在的意义。因此可以这样说:进程是执行程序的动态过程,而程序是进程运行的静态文本 2.进程的执行状态执行状态 进程正在占用CPU。就绪状...
2019-04-27 14:24:32
729
原创 基于udp的服务器和客户端编程
TCP与UDP的区别:基于连接与无连接 对系统资源的要求(TCP较多,UDP较少) UDP程序结构简单 流模式与数据报模式 TCP保证数据的正确性,UDP可能会丢包,TCP保证数据顺序,UDP不保证。TCP与UDP的编程区别:socket()的参数不同 UDP Server不需要调用listen和accept UDP收发数据用sendto/recvfrom函数 TCP:地...
2019-04-14 21:53:39
695
原创 基于TCP的服务器和客户端编程
自己敲了几遍~~,对于我这个小白来说(= _ =),花了大功夫来理解(基本概念我看了老师给的PPT= _=)我怕老师上课讲的时候我跟不上,所以就预习了一下+ _ +主要的步骤:(服务器)1. 创建一个socket,用函数socket()2. 绑定IP地址、端口等信息到socket上,用函数bind()3.设置允许的最大连接数,用函数listen()4.接收客...
2019-04-02 15:48:43
474
4
原创 通讯录(数据库)
这个感觉比较简单些,因为直接调用sql语句就好了,我看着别人的代码理解了一遍,自己敲了一遍参考 -----> https://blog.csdn.net/jiaqi_327/article/details/20799277#include <stdio.h>#include <stdlib.h>#include <sqlite3.h>...
2019-03-29 19:50:35
1974
原创 八大排序
每种排序也有其他的方法,这里每种排序的方法我只写了一种~~#include <stdio.h>#include <stdlib.h>#define SIZE 10//-----------冒泡排序----------------void bubble_sort(int *array){ int i,j,temp; for(i = 0...
2019-03-07 16:40:40
109
原创 栈【数组】(进栈和出栈)
#include <stdio.h>#include <stdlib.h>#define SIZE 5enum return_val {FULL_OK,FULL_NO,EMPTY_OK,EMPTY_NO,PUSH_OK,PUSH_NO,POP_OK,POP_NO};struct stack_date{ int stack_array[SIZE];...
2019-02-19 22:26:38
796
原创 用带头结点的单链表写的通讯录
实现的功能: 执行效果: 添加联系人 显示联系人 查找联系人 修改联系人信息 清空联系人 [root@localhost address]# ./address_list ***************************************************************************************************...
2019-02-19 13:32:37
266
1
原创 选择排序法
数组 #include <stdio.h>#include <stdlib.h>#include <time.h>#define N 5int main(){ int array[N]; int i,j,min,temp,k; srand((unsigned)time(NULL)); for(i = 0;i ...
2019-02-17 10:37:33
97
原创 带表头结点的单链表操作
#include <stdio.h>#include <stdlib.h>struct node{ int num; struct node * next;};typedef struct node Node;typedef struct node * Link;int is_malloc_ok(Link new_node){ ...
2019-02-16 21:10:29
1660
1
原创 循环链表带表头结点
#include <stdio.h>#include <stdlib.h>struct node{ int num; struct node * next;};typedef struct node Node;typedef struct node * Link;int is_malloc_ok(Link new_node){ ...
2019-02-16 20:44:09
678
1
原创 单链表中间插入
中间往前插入 void insert_node_mid_before(Link *head,Link new_node,int loc){ Link p,q; q = p = *head; if(p == NULL) //判断是否为空链表 { printf("Link is...
2019-02-16 20:39:51
1879
原创 链表的基本操作
#include <stdio.h>#include <stdlib.h> //调用malloc函数,返回值为voidstruct node //创建链表节点{ int num; struct node * ne...
2019-02-13 18:06:25
159
原创 NOTE.
2019.1.211.man [n] item(查手册)2. find -name 文件名 ---查找文件 find -name hello* ---查找hello find / -name hello* ---以hello开头 hello ---以hello结尾 ...
2019-01-24 20:01:11
662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人