- 博客(19)
- 收藏
- 关注
原创 IDEA2022.3.3关于反编译.class文件无法绑定源文件
如果发现我们在choose sources中选择好路径之后,还是没有反应,而且再次打开choose sources会出现上次相同的目录,那么可以就意味着出现了问题。modules->选择模块->Dependencies->点击+号->添加Tomcat源代码路径。然后去.class文件中选择这个路径就有反应了。成功是.java文件,不再是.class文件。点击下面的Project Structure进入。添加之后,这里就会多一个........src。
2023-03-17 18:43:35
634
原创 第12章 类和动态内存分配
第12章 类和动态内存分配0. 前言本章介绍如何对类使用new和delete以及如何处理由于使用动态内存而引起的一些微妙的问题。1. 动态内存和类为了让程序在运行时决定内存分配,C++使用new和delete运算符来动态控制内存。但是在类中使用这些运算符将导致许多问题。1.1静态类成员静态类成员特点:无论创建多少个对象,都只有一个静态类成员。也就是说,同一个类中所有对象都使用一个静态类成员。**注意:**静态类成员是在类声明中声明,在类方法定义中初始化,初始化要在变量名前使用类+作用运算符::
2022-05-14 14:43:46
265
原创 第11章 使用类
第11章 使用类1. 运算符重载**运算符重载:**运算符重载主要作用于类,它允许将标准C++运算符用于类对象。运算符重载是C++多态的一种,它是根据操作数的数目和类型来决定采用哪种操作。运算符函数的格式如下:operatorop(argument-list) //op代表C++的有效运算符,括号中是操作数列表//使用运算符重载函数可以像调用成员函数那样调用//也可以直接使用运算符作用于对应的操作数2. 一个运算符重载的实例//假设已经存在类Time,并包含相应的数据元素和成员函数/
2022-05-13 18:38:59
180
原创 第10章 对象和类
第10章 对象和类1. 过程性编程和面向对象编程过程性编程首先考虑要遵循的步骤,然后考虑如何表示这些数据。面向对象编程首先不仅考虑表示数据,还要考虑怎样使用数据,其中数据(数据成员)和使用数据(成员函数或方法)组合成了一个类,可以利用类创建它的实例——对象。2. 抽象和类抽象是将问题的本质特征抽象出来,并根据特征来描述解决方案。2.1 类型是什么指定基本类型完成了三项工作:决定数据对象需要的内存数量决定如何解释内存中的位决定可使用数据对象执行的操作或方法对于内置类型来说,这些有关操
2022-05-13 15:04:22
74
原创 第10章 对象和类
第10章 对象和类1. 过程性编程和面向对象编程过程性编程首先考虑要遵循的步骤,然后考虑如何表示这些数据。面向对象编程首先不仅考虑表示数据,还要考虑怎样使用数据,其中数据(数据成员)和使用数据(成员函数或方法)组合成了一个类,可以利用类创建它的实例——对象。2. 抽象和类抽象是将问题的本质特征抽象出来,并根据特征来描述解决方案。2.1 类型是什么指定基本类型完成了三项工作:决定数据对象需要的内存数量决定如何解释内存中的位决定可使用数据对象执行的操作或方法对于内置类型来说,这些有关操
2022-05-12 19:12:45
224
原创 第9章 内存模型和名称空间
第9章 内存模型和名称空间1. 单独编译可以将一些结构类型声明和函数原型放在头文件中,然后在每个源代码文件中包含头文件,这样便于修改头文件内容。但是请不要将函数定义和变量声明放在头文件中。头文件中常包含的内容:函数原型、#define或const定义的符号常量,结构声明、类声明、模板声明、内敛函数包含头文件,文件名要放在双引号中。为了防止多次包含同一个头文件,可以使用基于预处理器编译指令#ifndef和#endif。2. 存储持续性、作用域和链接性存储持续性:数据保留在内存中的时间。C++使用
2022-05-12 17:27:16
80
原创 第8章 函数探幽
第8章 函数探幽1. C++内联函数内联函数是C++为了提高程序运行速度所做的一项改进,编译器会将相应的函数代码替换内联函数调用,其执行速度比常规函数快,但是代价就是占用更多内存。声明和定义内联函数,需要在其函数前加上关键字inline。通常的做法是将整个定义放在原型的位置。注意,请求将函数作为内联函数时,编译器并不一定会满足这种请求。2. 引用变量引用是C++新增的一种复合类型,是已定义变量的别名。创建引用变量:引用变量由要引用对象类型、&符号、引用名三部分组成,例如:int &am
2022-05-11 19:14:36
195
原创 第7章 函数
第7章 函数1. 函数的基本知识要使用函数,必须完成这3种工作:提供函数原型、提供函数定义、调用函数函数分类:有返回值函数和没有返回值函数C++对于函数返回值类型的限制:不能是数组,但可以是其他任何类型——整数、浮点数、指针、结构和对象函数原型:描述函数到编译器的接口,将函数返回值类型以及参数类型和数量告诉编译器。避免使用原型的唯一方法就是在首次使用函数之前定义它,但这并不总是可行的。原型参数列表中可以不包括变量名。另外原型自动将被传递的参数强制转换为期望的类型。2. 函数参数和按值传递用于接
2022-05-10 18:01:35
85
原创 第6章 分支语句和逻辑运算符
第6章 分支语句和逻辑运算符1. if语句//if语句有两种格式if (test-condition) //第一种,if statementif (test_condition) //第二种,if-else statement1else statement22. 逻辑表达式逻辑与&&、逻辑或||、逻辑非!,逻辑与和逻辑或优先级都低于关系运算符,逻辑与的优先级又高于逻辑或,逻辑非优先级高于所有算术运算符和逻辑运算符。3. 字符函数库cctyp
2022-05-09 18:33:37
176
原创 第5章 循环和关系表达式
第5章 循环和关系表达式1. for循环//for循环格式for (initializeation; test-expression; update-expression) //初始化列表;测试条件;更新表达式 body //函数体表达式:任何值或者任何有效的值和运算符的组合都是表达式。任何表达式都有值。递增运算符++和递减运算符–副作用:指在计算表达式时对某些东西进行了修改顺序点:程序执行过程中的一个点。语句的分号是一个顺序点,任何完整表达式是一个顺序点。组合赋值运算符+=
2022-05-08 11:03:00
85
原创 第4章 复合类型
第4章 复合类型1. 数组数组用于存储多个同类型的值。数组的访问是通过下标或者索引进行的,下标从0开始。//声明数组的通用格式typeName arrayName[arraySize]; //注意arraySize的值不能是变量sizeof运算符用于数组名,得到整个数组的字节数,用于数组元素,得到元素的字节数。数组的初始化:数组初始化使用列表初始化。初始化数组时,可省略等号=、初始化数组时,大括号内可以不包含任何东西,这样所有元素都设置为0、初始化数组时,列表初始化禁止缩窄转换。2. 字
2022-05-08 10:08:08
63
原创 第3章 处理数据
第3章 处理数据C++内置的类型分为:基本类型、复合类型3.1 简单变量1.1 变量名C++命名规则:名称中只能使用字母字符、数字和下划线名称中第一个字符不能是数字,所以只能是字母或者下划线命名区分大小写不能将C++关键字作为名称C++对于名称长度没有限制以两个下划线开头或者以下划线和大写字母开头的名称被保留给实现1.2 整型C++基本整型有:char、short、int、long、longlong,其中每种类型都有自己符号版本和无符号版本。C++提供了一种灵活的标准,它确保了
2022-05-08 09:25:19
137
原创 (蓝桥杯基础练习)十六进制转八进制
思路:每次从输入中获取一个十六进制数存储字符数组,再每次循环将十六进制数每3位化为12位二进制数,再将12位二进制数化为4位八进制数存储结果数组中。主要利用一个临时数组存储12位二进制一次次转换部分十六进制数。#include <stdio.h>#include <ctype.h>#include <string.h>void function(char ch, char *tempstr, int location);void function2(ch
2022-04-02 18:37:54
303
原创 实验五(二叉树)
1.以广义表形式输入创建一棵二叉树,并以广义表形式输出这棵二叉树//通过输入广义表形式创建二叉树void CreateBiTree(BiTree *T){ int i = 0, k = 0; //i用来存储遍历字符串的下标,k用来标识左还是右子树,初始化为0用来接收根结点 BiTNode *q; //q用来保存结点,BiTNode是二叉树结点结构 SqStack stack; //定义一个存放指向根结点指针的栈,还有一个栈顶指针 char ch; chars str; //字符串
2021-12-18 10:50:27
783
原创 线性表笔记
线性表(List):零个或多个数据元素的有限序列。ADT 线性表(List)Data 数据对象为数据元素的集合,每个元素类型为DataType(用户自定义类型)。数据元素之间的关系是一对一的关系。Operation InitList(*L):初始化操作,建立一个空的线性表L ListEmpty(L):判断线性表是否为空,是返回TRUE,否返回FALSE ClearList(*L):将线性表清空 GetElem(L, i, *e):将线性表L中第i个位置的值
2021-11-05 22:32:12
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人