c++学习笔记

    技术2025-04-08  32

    c++学习笔记

    数据类型整数类型字符类型浮点数类型字符串类型布尔类型(bool)符号常量枚举类型引用类型自定义类型 函数——程序的功能模块iostream库cstdlib库cmath库 运算符类和对象类和对象的定义前向引用声明 UML简介结构体联合体枚举类

    基本程序框架

    #include <iostream> using namespace std; int main() { cout << "hello world" << endl; system("pause"); return 0; }

    数据类型

    整数类型

    基本的整数类型:int 有符号 ( signed ) 无符号 ( unsigned ) 短整数 ( short ) 长整数 ( long ) 长长整数 ( long long ) short int <= int <= long int << long long int

    字符类型

    char 单字节

    浮点数类型

    单精度 ( float ) 双精度 ( double ) 扩展精度 ( long double )

    字符串类型

    有字符串常量 基本类型中没有字符串常量 采用字符数组存储字符串( C语言风格 ) 标准C++类库中的String类( C++风格 )

    布尔类型(bool)

    只有两个值:true(真)、false(假) 常用来表示关系比较、相等比较或逻辑运算的结果

    符号常量

    const 数据类型说明符 常量名=常量值 或数据类型说明符 const 常量名=常量值 例如:const float PI = 3.1415926;

    枚举类型

    定义方式:将全部可取值一一列举出来 语法形式: enum 枚举类型名 {变量值列表} enum Weekday {SUN, MON, TUE, WED, THU, FRI, SAT} 枚举元素是常量,不能对它们赋值 枚举元素具有默认值,它们依次为:0,1,2,…… 也可以再声明时另外指定枚举元素的值 如:enum Weekday{SUN=7,MON=1,TUE,WED,TUE,FRI,SAT} 枚举值可以进行关系运算

    引用类型

    引用( & )是标识符的别名 定义一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象 一旦一个引用被初始化后,就不能改为指向其它对象 引用可以作为形参,指向对象本身,指针指向对象的地址

    自定义类型

    typedef 已有类型名 新类型名表 using 新类型名 = 已有类型名

    函数——程序的功能模块

    类型标识符 函数名 (形式参数表) { 语句序列 }

    iostream库

    cin: 从键盘读入值, cin<<radius; cout : cout << "hello world"<<radius<<'\n';

    cstdlib库

    (1)rand函数: 函数原型:int rand(void); 功能和返回值:求出并返回一个伪随机数 (2)srand函数: 原型:void srand(unsigned int seed) 参数:seed产生随机数的种子 功能:为使rand()产生一序列伪随机整数而设置起始点。使用1作为seed参数,可以重新初始化rand()

    cmath库

    sin(), cos(), tan()

    运算符

    (1)基本运算符: + - * / %; (2)优先级与结合性: 先乘除,后加减,同级自左至右 (3)++,--(自增、自减) 例如:i++; 若要参与其他运算,先运行,后加一; --j; 先加一,再参与其他运算。 (4)复合赋值运算符: +=,-=,*=,/=,%=,<<=,>>=,&=,^=,|= (5)逗号运算和逗号表达式: 格式:表达式1,表达式2 求解顺序及结果 1. 求解表达式1,再求解表达式2 2. 最终结果为表达式2的值 例如: a = 3 * 5, a * 4,最终结果为60 (6)逻辑运算与逻辑表达式: !(非) &&(与) ||(或) (7)条件运算符与条件表达式: 一般形式: 1. 表达式1 ? 表达式2 : 表达式3 2. 表达式1必须是bool类型 (8)sizeof运算符: 1. 语法形式:sizeof(类型名)或sizeof表达式 2. 结果值:“类型名”所指定的类型,或“表达式”的结果类型所占的字节数 (9)位运算: 1.与运算:&;或运算:|;取反:~ 2.按位异或:^;相同为0,不同为1 3.移位:<<,>> (1). 左移运算(<<):左移后,低位补0,高位舍弃 (2). 右移运算(>>):右移后,低位舍弃,高位补0或符号位 (10)if: if(……);……;else……; (11)switch: switch(……){ case a: ……;break; case b: ……;break; …… default: ……;break; } (12)循环语句: 1. while: //先判断条件再执行 while(i < 10){ sum += i; i++; } 2. do{ //先执行再判断条件 sum += i; i++; }while (i<10) 3. for for(i= 0; i < n; i++) sum += i;

    类和对象

    类和对象的定义

    (1)类定义的语法形式 class 类名称 { public: 公有成员(外部接口) private: 私有成员 protected: 保护型成员 } (2)对象定义的语法 类名 对象名; (3)构造函数 类中的特殊函数 用于描述初始化算法 在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的初始状态 构造函数的形式: 1. 函数名与类名相同 2. 不能定义返回值类型,也不能有return语句 3. 可以有形式参数,也可以没有形式参数 4. 可以是内联函数(inline) 5. 可以重载 6. 可以带默认参数值 类名::类名(int a, int b, int c) : aa(a), bb(b), cc(c){} (4)析构函数 原型:~类名() 析构函数没有参数,没有返回类型

    前向引用声明

    类应该先声明,后使用 如果需要在某个类的声明之前,引用该类,则应进行前向引用声明 前向引用声明只为程序引入一个标识符,但具体声明在其他地方 注意事项: 1.在提供一个完整的类声明之前,不能声明该类的对象,也不能在内联成员函数中使用该类的对象 2.当使用前向引用声明时,只能使用被声明的符号,而不能涉及类的任何细节

    UML简介

    三个基本的部分: 1. 事物(Things) 2. 关系(Relationships) 3. 图(Diagrams) #mermaid-svg-mQ8tlBKZvarF0xnR .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .label text{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .node rect,#mermaid-svg-mQ8tlBKZvarF0xnR .node circle,#mermaid-svg-mQ8tlBKZvarF0xnR .node ellipse,#mermaid-svg-mQ8tlBKZvarF0xnR .node polygon,#mermaid-svg-mQ8tlBKZvarF0xnR .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-mQ8tlBKZvarF0xnR .node .label{text-align:center;fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .node.clickable{cursor:pointer}#mermaid-svg-mQ8tlBKZvarF0xnR .arrowheadPath{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-mQ8tlBKZvarF0xnR .flowchart-link{stroke:#333;fill:none}#mermaid-svg-mQ8tlBKZvarF0xnR .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-mQ8tlBKZvarF0xnR .edgeLabel rect{opacity:0.9}#mermaid-svg-mQ8tlBKZvarF0xnR .edgeLabel span{color:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-mQ8tlBKZvarF0xnR .cluster text{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-mQ8tlBKZvarF0xnR .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-mQ8tlBKZvarF0xnR text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-mQ8tlBKZvarF0xnR .actor-line{stroke:grey}#mermaid-svg-mQ8tlBKZvarF0xnR .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-mQ8tlBKZvarF0xnR #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .sequenceNumber{fill:#fff}#mermaid-svg-mQ8tlBKZvarF0xnR #sequencenumber{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR #crosshead path{fill:#333;stroke:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .messageText{fill:#333;stroke:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-mQ8tlBKZvarF0xnR .labelText,#mermaid-svg-mQ8tlBKZvarF0xnR .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-mQ8tlBKZvarF0xnR .loopText,#mermaid-svg-mQ8tlBKZvarF0xnR .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-mQ8tlBKZvarF0xnR .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-mQ8tlBKZvarF0xnR .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-mQ8tlBKZvarF0xnR .noteText,#mermaid-svg-mQ8tlBKZvarF0xnR .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-mQ8tlBKZvarF0xnR .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-mQ8tlBKZvarF0xnR .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-mQ8tlBKZvarF0xnR .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-mQ8tlBKZvarF0xnR .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .section{stroke:none;opacity:0.2}#mermaid-svg-mQ8tlBKZvarF0xnR .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-mQ8tlBKZvarF0xnR .section2{fill:#fff400}#mermaid-svg-mQ8tlBKZvarF0xnR .section1,#mermaid-svg-mQ8tlBKZvarF0xnR .section3{fill:#fff;opacity:0.2}#mermaid-svg-mQ8tlBKZvarF0xnR .sectionTitle0{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .sectionTitle1{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .sectionTitle2{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .sectionTitle3{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-mQ8tlBKZvarF0xnR .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .grid path{stroke-width:0}#mermaid-svg-mQ8tlBKZvarF0xnR .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-mQ8tlBKZvarF0xnR .task{stroke-width:2}#mermaid-svg-mQ8tlBKZvarF0xnR .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .taskText:not([font-size]){font-size:11px}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-mQ8tlBKZvarF0xnR .task.clickable{cursor:pointer}#mermaid-svg-mQ8tlBKZvarF0xnR .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-mQ8tlBKZvarF0xnR .taskText0,#mermaid-svg-mQ8tlBKZvarF0xnR .taskText1,#mermaid-svg-mQ8tlBKZvarF0xnR .taskText2,#mermaid-svg-mQ8tlBKZvarF0xnR .taskText3{fill:#fff}#mermaid-svg-mQ8tlBKZvarF0xnR .task0,#mermaid-svg-mQ8tlBKZvarF0xnR .task1,#mermaid-svg-mQ8tlBKZvarF0xnR .task2,#mermaid-svg-mQ8tlBKZvarF0xnR .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutside0,#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutside2{fill:#000}#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutside1,#mermaid-svg-mQ8tlBKZvarF0xnR .taskTextOutside3{fill:#000}#mermaid-svg-mQ8tlBKZvarF0xnR .active0,#mermaid-svg-mQ8tlBKZvarF0xnR .active1,#mermaid-svg-mQ8tlBKZvarF0xnR .active2,#mermaid-svg-mQ8tlBKZvarF0xnR .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-mQ8tlBKZvarF0xnR .activeText0,#mermaid-svg-mQ8tlBKZvarF0xnR .activeText1,#mermaid-svg-mQ8tlBKZvarF0xnR .activeText2,#mermaid-svg-mQ8tlBKZvarF0xnR .activeText3{fill:#000 !important}#mermaid-svg-mQ8tlBKZvarF0xnR .done0,#mermaid-svg-mQ8tlBKZvarF0xnR .done1,#mermaid-svg-mQ8tlBKZvarF0xnR .done2,#mermaid-svg-mQ8tlBKZvarF0xnR .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-mQ8tlBKZvarF0xnR .doneText0,#mermaid-svg-mQ8tlBKZvarF0xnR .doneText1,#mermaid-svg-mQ8tlBKZvarF0xnR .doneText2,#mermaid-svg-mQ8tlBKZvarF0xnR .doneText3{fill:#000 !important}#mermaid-svg-mQ8tlBKZvarF0xnR .crit0,#mermaid-svg-mQ8tlBKZvarF0xnR .crit1,#mermaid-svg-mQ8tlBKZvarF0xnR .crit2,#mermaid-svg-mQ8tlBKZvarF0xnR .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-mQ8tlBKZvarF0xnR .activeCrit0,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCrit1,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCrit2,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-mQ8tlBKZvarF0xnR .doneCrit0,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCrit1,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCrit2,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-mQ8tlBKZvarF0xnR .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-mQ8tlBKZvarF0xnR .milestoneText{font-style:italic}#mermaid-svg-mQ8tlBKZvarF0xnR .doneCritText0,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCritText1,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCritText2,#mermaid-svg-mQ8tlBKZvarF0xnR .doneCritText3{fill:#000 !important}#mermaid-svg-mQ8tlBKZvarF0xnR .activeCritText0,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCritText1,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCritText2,#mermaid-svg-mQ8tlBKZvarF0xnR .activeCritText3{fill:#000 !important}#mermaid-svg-mQ8tlBKZvarF0xnR .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-mQ8tlBKZvarF0xnR g.classGroup text .title{font-weight:bolder}#mermaid-svg-mQ8tlBKZvarF0xnR g.clickable{cursor:pointer}#mermaid-svg-mQ8tlBKZvarF0xnR g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-mQ8tlBKZvarF0xnR g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-mQ8tlBKZvarF0xnR .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-mQ8tlBKZvarF0xnR .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-mQ8tlBKZvarF0xnR .dashed-line{stroke-dasharray:3}#mermaid-svg-mQ8tlBKZvarF0xnR #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR .commit-id,#mermaid-svg-mQ8tlBKZvarF0xnR .commit-msg,#mermaid-svg-mQ8tlBKZvarF0xnR .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-mQ8tlBKZvarF0xnR g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-mQ8tlBKZvarF0xnR g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-mQ8tlBKZvarF0xnR g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-mQ8tlBKZvarF0xnR .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-mQ8tlBKZvarF0xnR .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-mQ8tlBKZvarF0xnR .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-mQ8tlBKZvarF0xnR .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-mQ8tlBKZvarF0xnR .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-mQ8tlBKZvarF0xnR .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-mQ8tlBKZvarF0xnR .edgeLabel text{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-mQ8tlBKZvarF0xnR .node circle.state-start{fill:black;stroke:black}#mermaid-svg-mQ8tlBKZvarF0xnR .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-mQ8tlBKZvarF0xnR #statediagram-barbEnd{fill:#9370db}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-state .divider{stroke:#9370db}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-mQ8tlBKZvarF0xnR .note-edge{stroke-dasharray:5}#mermaid-svg-mQ8tlBKZvarF0xnR .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-mQ8tlBKZvarF0xnR .error-icon{fill:#522}#mermaid-svg-mQ8tlBKZvarF0xnR .error-text{fill:#522;stroke:#522}#mermaid-svg-mQ8tlBKZvarF0xnR .edge-thickness-normal{stroke-width:2px}#mermaid-svg-mQ8tlBKZvarF0xnR .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-mQ8tlBKZvarF0xnR .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-mQ8tlBKZvarF0xnR .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-mQ8tlBKZvarF0xnR .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-mQ8tlBKZvarF0xnR .marker{fill:#333}#mermaid-svg-mQ8tlBKZvarF0xnR .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-mQ8tlBKZvarF0xnR { color: rgba(0, 0, 0, 0.75); font: ; } 张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    结构体

    (1)结构体是一种特殊形态的类 与类的唯一区别: 类的缺省访问权限是private,结构体的缺省访问权限是public (2) struct 结构体名称{ 公有成员 protected: 保护型成员 private: 私有成员 }; (3)若结构体的全部数据成员都是公有成员,没有用户定义的构造函数,没有基类和虚函数,可以直接用下面的语法形式初始化: 类型名 变量名 = {成员数据1初值, 成员数据2初值, ……}; 也可以单独对结构体中变量赋值,结构体名.成员,采用指针时,结构体指针->成员

    联合体

    (1)定义形式 union 联合体名称{ 公有成员 protected: 保护型成员 private: 私有成员 } (2)特点: 成员共用同一组内存单元 任何两个成员不会同时有效 (3)举例说明: union Mark{ //表示成绩的联合体 char grade; //等级制的成绩 bool pass; //只记是否通过课程的成绩 int percent; //百分制的成绩 } 联合体公用存储空间,以成员中最大字节数作为存储空间 (4)无名联合 例: union{ int i; float f; } 只能一个成员有效

    枚举类

    (1)枚举类定义: 语法形式 enum class 枚举类型名: 底层类型{枚举值列表}; (底层类型默认是int型) 例: enum class Type{General, Light, Medium, Heavy}; enum class Type: char{General, Light, Medium, Heavy}; enum class Category{General=1, Pistol, MachineGun, Cannon}; (2)枚举类的优势 1.强作用域,其作用域限制在枚举类中 2.转换限制,枚举类对象不可以与整型隐式地互相转换 3.可以指定底层类型
    Processed: 0.010, SQL: 9