c++
打字员小张
不积跬步、无以至千里。
展开
-
003.数据结构_树
二叉树的创建与递归遍历BinaryTree.h//// Created by zhangzhiqiang on 2020/7/6.//#ifndef DATASTRUCTURE_BINARYTREE_H#define DATASTRUCTURE_BINARYTREE_H#include <iostream>using namespace std;//二叉链表的结点typedef struct BinTreeNode { BinTreeNode *leftC原创 2022-03-17 18:25:16 · 1500 阅读 · 0 评论 -
002.数据结构_线性结构
一、线性表:n个相同类型数据的有限序列(n>=0)。 常用操作:增(尾部)、删、插、查、遍历、求表长、判断是否为空 操作特点:可以在任意位置插入或删除一个元素。二、顺序表:用顺序结构实现的线性表。 Java类库中的顺序表:ArrayList//StudIn类:定义顺序表中的数据元素public class StudIn { private Stri...原创 2018-05-06 15:03:09 · 350 阅读 · 0 评论 -
从零学习C++第九章:输入输出
9.1 概述C++中,输入/输出(input/output)是一种基于字节流(stream)的操作。 以过程式的方式进行输入/输出通过C语言函数库中的输入/输出函数实现;以面向对象的方式进行输入/输出通过C++的I/O类库实现。9.2 面向控制台的输入/输出面向控制台的输入/输出:从计算机系统的标准输入设备(键盘)输入程序所需要的数据以及把程序的计算结果或错误信息输出到计算机系统的标准...原创 2020-05-06 19:08:21 · 788 阅读 · 0 评论 -
从零学习C++第十章:异常处理
10.1 概述10.1.1 什么是异常程序的错误包括:语法错误、逻辑错误和运行异常 语法错误:程序书写不符合语言的语法规则,由编译程序发现 逻辑错误(语义错误):程序没有完成预期的功能,通过对程序进行静态分析和动态测试来发现 运行异常(exception):程序运行错误 程序异常往往是没有考虑到程序运行环境的一些特殊情况: 关联文件时,文件不存在 动态分配空间,内存不...原创 2020-05-06 19:08:13 · 384 阅读 · 0 评论 -
从零学习C++第八章:类属类型(泛型)——模板
8.1 概述类属性(generics):一个程序实体能对多种类型的数据进行操作或描述的特性。 类属函数:包含类属性的程序实体,一个函数能对不同类型的数据(参数)完成相同的操作。 类属类:包含类属性的程序实体,一个类的成员类型可变,从而可以用它描述不同种类的对象。 类属程序设计:基于具有类属性的程序实体进行程序设计的技术称为类属程序设计(或泛型程序设计,generic programmin...原创 2020-05-05 18:45:23 · 997 阅读 · 0 评论 -
从零学习C++第七章:继承(类的复用)——派生类
7.1 概述7.1.1 类之间的继承关系——基类与派生类基类(base class):被继承类 派生类(derived class):继承后得到的类C++中,继承分为单继承和多继承7.1.2 继承的作用支持软件复用 对事物按层次进行分类 一般与特殊的关系(is-a-kind-of) 对概念进行组合 支持软件的增量开发7.2 单继承7.2.1 单继承...原创 2020-05-05 18:39:39 · 756 阅读 · 0 评论 -
从零学习C++第六章:数据抽象——对象与类
6.1 概述6.1.1 数据抽象与封装数据抽象(data abstraction):是对数据的一种描述方式,使得数据的使用者只需要知道对数据所能实施的操作,以及这些操作之间的关系,而不必知道数据的具体表示。 数据封装(data encapsulation):是指把数据和对数据的操作作为一个整体定义,并通过封装机制把数据的具体表示对使用者隐藏起来,数据使用者只能通过封装体提供的接口对数据进...原创 2020-05-05 18:31:56 · 430 阅读 · 0 评论 -
从零学习C++第五章:复合数据的描述——构造数据类型(二)
5.5 指针类型——内存地址的描述在C++中,用指针类型来描述内存地址,通过指针操作来实现与内存地址有关的程序功能5.5.1 指针类型的定义指针类型(pointer type)是一种用户自定义的数据类型,值集是由一些指针构成的集合,是内存地址的抽象表示。 指针与无符号整数的联系与区别: 形式:指针属于无符号整数 概念: 一个指针对应某个内存单元,关联到某个变量或函数;...原创 2020-02-11 20:07:36 · 375 阅读 · 0 评论 -
从零学习C++第五章:复合数据的描述——构造数据类型(一)
5.1 枚举类型——自定义值集的数据描述如果用基本数据类型来表示一些形式与之相同而性质不同的数据,会造成程序易读性下降,正确性难以保证。为解决该问题,设计者可以使用自己定义值集的数据类型——枚举类型,枚举类型的操作受一定的约束。5.1.1 枚举类型的举例枚举类型(enumeration type)是用户自定义的一种简单数据类型,在定义一个枚举类型时,需要列出其值集中的每一个值。 ...原创 2020-02-11 19:49:55 · 432 阅读 · 0 评论 -
从零学习C++第四章:过程抽象——函数
4.1 概述4.1.1 功能分解与复合功能分解与功能复合是程序设计的两种手段 功能分解:自顶向下(top-down)、逐步精华(step-wise)的设计过程。 功能复合:自顶向上(bottom-up)的设计过程。 采用过程分解和复合的手段进行程序设计往往要基于一种抽象机制——过程抽象(procedural abstraction)或功能抽象(functional abstra...原创 2020-01-14 16:07:15 · 875 阅读 · 0 评论 -
从零学习C++第三章:程序的流程控制(算法)描述
3.1 概述对程序流程的描述称为算法(algorithm) 在程序中,程序的流程控制语句是用语句(statement)来实现的,它指定了表达式的计算次序。 程序流程控制包括:选择和循环 选择执行是指根据某个条件满足与否来决定是否执行某个语句 循环执行是指根据某个条件是否满足来决定是否重复执行某个语句 设计流程控制时,可先用程序流程图(flowchat)来对程序流程进行描述,...原创 2020-01-11 11:19:51 · 2207 阅读 · 0 评论 -
从零学习C++第二章:基本数据类型和表达式
2.1 数据类型数据的特征在程序设计中体现为数据类型,它包括数据结构和可施于数据的操作(运算)。一种数据类型(data type)可看作由两个集合构成:值集和操作(运算)集值集:描述了该数据类型可包含哪些数据以及这些数据的结构(组织形式) 操作集:描述了对值集中的数据能实施哪些运算数据类型分为简单数据类型和复合数据类型简单数据类型:构成类型值集的数据是不可再分解的简...原创 2019-12-15 19:51:43 · 2050 阅读 · 0 评论 -
从零学习C++第一章:概述
1.1 计算机的工作模型1.1.1 冯·诺依曼体系结构目前计算机采用的还是传统的冯·诺依曼体系结构,冯·诺依曼结构的计算机由存储、运算、控制、输入及输出五个单元组成存储单元用于存储程序(指令序列)和数据 运算单元用于进行算术/逻辑运算 控制单元用于控制程序的执行和根据指令向其他单元发出控制信号 输入单元和输出单元作为计算机与外界的接口,用于实现系统的输入和输出功能工作过程...原创 2019-12-15 19:12:23 · 456 阅读 · 0 评论 -
从零学习C++第九篇:多态性与虚函数
一、多态性静态联编所支持的多态性称为编译时的多态性。当调用重载函数时、编译器可以根据所选用的实参,选择调用相应的函数。动态联编所支持的多态性称为运行时的多态性,由虚函数支持。静态联编中的赋值兼容性及名字支配规律#include <iostream>using namespace std;double PI=3.14159;class Point{private: float ...原创 2018-03-12 17:02:18 · 175 阅读 · 0 评论 -
从零学习C++第八篇:类模板与向量
一、类模板类模板一般声明方法如下:template <类模板参数>class 类名{//实体}类模板对象:类名<模板实例化参数类型>对象名(构造参数实参列表); 类名<模板实例化参数类型>对象名;在类外面定义成员函数,必须用template重写类模板声明: template<模板参数>...原创 2018-03-10 16:50:13 · 1328 阅读 · 1 评论 -
从零学习C++第七篇:继承和派生
一、继承和派生派生:通过已有的类(基类)建立新类(派生类)的过程,叫做派生。继承:派生类继承基类的数据成员和函数。分为单一继承和多重继承。单一继承class 派生类名 : 访问控制符 基类名{ //访问控制符是控制派生类成员访问基类成员 public:公有派生、private:私有派生、protected:保护派生。}构造函数:派生类名::派生类名(参数列表):基类名(参数列表){/...原创 2018-03-09 17:33:26 · 439 阅读 · 2 评论 -
从零开始学习C++第六篇:特殊函数和成员
一、对象成员的初始化对象成员构造函数的调用顺序取决于这些对象成员在类中的说明顺序。如当先建立A类对象时,先调用对象的构造函数,初始化对象成员,然后再调用A类的构造函数,初始化A类的其它成员。析构函数则是顺序相反。#include <iostream>using namespace std;class object{private: int val;public:// obj...原创 2018-03-09 13:54:22 · 331 阅读 · 1 评论 -
从零开始学习C++第五篇:类和对象
一、类及其实例化定义类1.声明类class 类名{private: 私有数据和函数;public: 私有数据和函数;protected: 保护数据和函数;}2.定义成员函数返回类型 类名::成员函数名(参数列表){ 成员函数的函数体;//内部实现}::是作用域运算符,用于表明其后的成员函数是属于这个特定的类3.成员函数的赋值不能在类体内或外给...原创 2018-03-08 14:38:24 · 283 阅读 · 0 评论 -
从零开始学习C++第四篇:函数和函数模板
一、函数的参数及其传递方式1、形参与实参形参:形式参数。就是定义函数的时候,写在函数名小括号后面的参数叫形参。实参:实际参数。就是调用函数的时候,调用函数时写在函数名小括号后面的参数就叫实参https://www.cnblogs.com/jialiangliang/p/6011793.html2、传递参数的三种方式2.1对象作为函数参数将实参对象的值传给形参对象,形参有实参的备份,当函数改变形参时...原创 2018-03-06 15:12:44 · 248 阅读 · 0 评论 -
从零开始学习C++第三篇:从结构到类的演变
一、C++中的结构与类1、函数与数据共存在C++中定义一个结构struct 成员名{ 数据成员; 成员函数;};#include <iostream>using namespace std;struct Point{private: //私有属性 使用private关键字定义数据成员,产生封装性 double x,y;...原创 2018-03-01 08:59:50 · 180 阅读 · 0 评论 -
从零开始学习C++第二篇:认识C++的对象
C++是面向对象的语言 三个特征:封装、继承、多态。一般称显示世界中客观存在的事物为对象。C++语言兼容C语言,可将原来C语言中的变量看做对象使用结构对象的实例程序:/*将结构对象的两个域值相加,乘以2,再加50*/#include <iostream> //包含头文件using namespace std; //使用命名空间int result(int,in...原创 2018-02-28 16:26:46 · 288 阅读 · 0 评论 -
从零开始学习C++第一篇:在eclipse中搭建开发环境
在eclipse中添加CDT(C/C++ Development Tooling)插件。步骤一:安装与配置minGWMinGW,是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。Mi...转载 2018-02-25 14:03:36 · 232 阅读 · 0 评论 -
从零学习C++第十篇:查漏补缺
一、不能作为左值&a为取变量的地址,不能被修改,所以不能作为左值二、char类型初始化char ca[4]="your" 错误 字符数组不能超过数组长度,双引号括起来的字符串,最后有一个结束标志'\0',也占一个字符空间三、内联函数关键字:inline特点:增加代码量、加快访问速度四、头文件数组操作函数的头文件:<algorithm>五、C++程序的四个组成部分程序的主函...原创 2018-03-18 13:25:29 · 240 阅读 · 0 评论