C++子类的构造、析构和拷贝函数 C++子类的构造、析构和拷贝函数子类的构造子类的析构子类的拷贝构造函数子类的构造子类的构造在执行它的构造函数前会根据继承表的顺序执行父类的构造函数1、默认执行父类的无参构造。2、显式调用有参构造,在子类的构造函数后,初始化列表中显示调用父类对的有参构造函数class Base{public: char* str; Base(void) { cout << "无参...
C++类的继承 C++类的继承类的继承共性与个性共性表示为父类(基类),个性表示为子类(派生类)继承的语法继承表继承方式继承的基本特点公共特点向上和向下转换(造型)子类会继承父类的所有成员(公开、私有和保护)子类会隐藏父类的同名成员继承方式影响访问控制访问控制限定符继承方式的影响范围类的继承共性与个性共性表达不同类型事物之间工友的属性和行为。个性用于刻画每种事物特有的属性和行为。共性表示为父类(基类),...
C++类和对象 C++类和对象类和对象类的定义与实例化类的一般形式类的访问控制限定符构造函数构造函数与初始化列表构造函数可以被重载缺省构造函数无参构造函数单参构造与类型转换初始化列表类和对象1、通过分析“对象”的属性和行为设计出一个类。2、类就是数据类型简单类型:只能表示一个属性(变量),C/C++内建数据类型数组类型:可以表示多个属性(变量),类型必须相同结构类型:可以表示多个属性(变量),但缺少行...
C++this指针、拷贝、赋值构造和单例模式 C++this指针、拷贝构造和赋值构造this指针常函数析构函数特殊的成员函数谁来调用析构函数负责什么缺省的析构函数拷贝构造赋值构造(赋值运算符)this指针1、类的成员变量单独存储在每个类对象中,成员函数存储在代码段中,所有类对象共享一份成员函数。2、成员函数是如何区别调用它的是哪个类对象的?借助了this指针,类的每个成员函数都有一个隐藏的参数this指针,它指向类对象。3、类的构...
C++函数重载、内联函数和引用 C++函数重载、内联函数和引用函数重载函数重载机制函数重载在同一作用域下,函数名相同,参数列表不同的函数构成重载关系。函数重载机制C++代码在编译时会把函数的参数类型添加到参数名中,借助整个方式来实现函数重载,也就是说...
标准C++名字空间、结构、联合、枚举和布尔类型 标准C++学习1C++介绍C++与C的不同点:第一个C++程序名字空间C++的结构C++的联合C++的枚举C++的布尔类型C++的void*操作符别名函数重载函数重载重载实现的机制C++介绍本贾尼.斯特劳斯特鲁普,于1979年4月由贝尔实验室的本贾尼博士在分析UNIX 系统分布内核流量分析时,希望有一种有效的更加模块化的工具。在1979年10月完成了预处理器Cpre,为C增加了类机制,也就是面...
C++类对象的创建与释放过程 C++类对象的创建与释放过程类对象的创建过程类对象的释放过程析构函数缺省析构函数类对象的创建过程1、分配类所需要的空间,无论是栈还是堆。2、传递实参调用构造函数,完成如下任务:1、根据继承表依次调用父类的构造函数。2、根据成员变量的顺序依次调用成员变量的构造函数。3、执行构造函数体中的代码。注意:执行构造函数的代码是整个构造函数的最后一步,要保证构造函数代码所需要的一切资源和先决条件...
UNIX-Linux线程管理 UNIX-Linux线程管理线程基本概念线程基本特点POSIX线程线程函数创建线程等待线程结束获取线程ID比较两个线程ID线程终止线程分离线程取消设置线程属性线程基本概念1、线程就是进程中的执行路线,即进程内部的控制序列,或者说进程的子任务(进程就是正在运行的程序,它是一个资源单位)。2、线程是轻量级的,没有自己独立的内存资源,使用的是进程的代码、数据段、bss段、堆(注意没有栈),环境变量...
UNIX-Linux网络通信 UNIX-Linux网络通信计算机网络概念计算机网络概念计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和消息传递的计算机系统。...
UNIX-Linux进程间通信 UNIX-Linux进程间通信基本概念进程间通信进程间为什么需要通信进程间通信方式的分类传统的进程间通信——管道有名管道(创建实体文件)无名管道XSI进程间tongxinIPC标识IPC键值IPC对象的创建用到的宏IPC对象销毁/控制用到的宏共享内存消息队列信号量基本概念进程间通信进程间通信是指两个或多个进程之间交换数据的过程。进程间为什么需要通信当需要多个进程协同工作高效率完成任务时,...
UNIX-Linux信号处理 UNIX-Linux信号处理信号的基本概念中断信号常见的信号不可靠信号可靠信号信号的来源信号的处理信号的捕获发送信号键盘错误命令函数暂停和休眠时钟信号集与信号屏蔽信号集信号屏蔽带附加信息的信号计时器系统为每个进程维护三个计时器信号的基本概念中断中止(不是终止)当前正在执行的任务,转而执行其他任务(可能返回也可能不返回),中断分为硬件中断(硬件设备产生的中断)和软件中断(其他程序产生的中断)。...
UNIX-Linux进程管理 UNIX-Linux进程管理基本概念进程标识符创建进程基本概念1、进程与程序程序:存储在磁盘上的文件,包含可执行指令和数据的静态实体。进程:运行中的程序(一个程序可以执行多次,加载出多个进程)。进程就是处于活动状态的计算机程序。2、进程的分类:交互进程:有输入输出,用户可以根据自己的情况输入数据,得到想要的结果(一般进程)。批处理进程:由脚本加载执行的程序(比如Linux下shel...
UNIX-Linux文件管理 UNIX-Linux文件管理磁盘的写入fcntl函数有关文件的操作获取文件相关属性文件的访问权限修改文件的大小文件的链接操作目录操作目录流操作磁盘的写入1、硬盘上一般都会有一些缓冲区一次来提高数据的写入效率,操作系统写入数据其实只是写入缓冲区,直到缓冲区满,才排队写入磁盘中。2、这种操作降低了写入的次数,但是提高了数据写入的延时,导致缓冲区中的数据与磁盘中的内容不同步。#include &...
UNIX-Linux内存管理 UNIX-Linux内存管理错误处理环境变量内存管理进程映像虚拟内存(32位)内存管理API错误处理1、通过函数返回值表示错误1、返回值合法表示成功,非法表示失败2、返回有效指针表示成功,空指针(NULL/0xffffffff)表示失败3、返回0表示成功,-1表示失败4、永远成功2、通过errno表示错误 <errno.h>perror("fopen");error...
UNIX-Linux操作系统环境介绍 UNIX-Linux系统环境介绍UNIX操作系统Linux操作系统UNIX操作系统丹尼斯.里奇、肯.汤姆逊于1971年左右,在美国贝尔实验室使用C语言开发了这款操作系统。特点是多用户、多任务,支持多种处理器架构,高安全性、高可靠性、高稳定性。既可以构建大型关键业务系统的商用服务器,也可以构建面向移动端的、手持设备等相关的嵌入式应用。三大衍生版本:1、System V:银行电信在使用的服务...
Linux文件操作及相关系统调用 Linux文件操作及相关系统调用系统调用一切皆文件文件相关系统调用文件描述符标准IO与系统IO比较系统调用标准库中的函数绝大部分时间都工作在用户态,但部分时间也需要切换到内核(进行了系统调用),比如:fread/fwrite/malloc/free。我们自己所编写的代码也可以直接调用系统接口进入内核态(进行系统调用),比如:brk/sbrk/mmap/munmap系统调用的功能代码存在于...
数据结构:图 数据结构图的相关概念各种图的定义顶点和边的关系连通图的相关术语图的存储结构邻接矩阵邻接表十字链表邻接多重表边集数组图的遍历图的相关概念1、图是元素之间存在多对多的关系(线性表的元素之间存在前驱和后继,树的元素之间存在父子关系,图的任意元素之间都有可能存在关系)2、图是由顶点的有穷非空集合和顶点之间边的集合组成。3、在图型数据结构中,数据被称为顶点,数据之间的关系称为边。4、在图中不允许出...
数据结构:表 C语言指针、指针与数组数据结构的基本概念四种基本类型的数据结构数据结构的存储方式功能受限的表通用链表树概念树的相关术语普通树二叉树数据结构的基本概念数据:能够输入到计算机的描述客观事物的符号数据项:描述事物的其中一项指标数据元素:用于描述一个完整的事物。数据结构:由数据元素和元素之间的关系构成一个整体算法:数据结构所具备的功能(解决问题的方法)。四种基本类型的数据结构集合:...