Skip to content

HITSZ 2023 C++ 语言程序设计实验

License

Notifications You must be signed in to change notification settings

MaxwellJay256/CppLab_2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CppLab_2023

HITSZ 2023 C++ 语言程序设计实验课项目 by @Maxwell Jay

项目使用 Visual Studio 2022 开发,但为了方便读取,就只上传了头文件(.h)和源文件(.cpp)。没有使用 CMake。

每个实验下有一个 Report&Materials 文件夹,里面有实验题目和用 Visio 画的算法流程图。

实验报告就不上传了,白嫖不能太过分🤗。

Exp1:计算器 1

实现一个简易计算器,通过一个字符栈实现表达式中数值与操作符的识别,以及括号的匹配,最后输出表达式的计算结果。

  • 关键词:栈,字符串处理,异常字符处理,操作符优先级判断,括号匹配

Exp2:计算器 2

在实验 1 的基础上进行改进,使用类模板实现栈,分别用于储存操作符与操作数。

  • 关键词:类模板

Exp3:矩阵类

编写一个矩阵类(为了降低难度,矩阵均为 4x4 方阵),实现矩阵初始化、加减乘运算、求逆、转置、标准输入输出等基本功能。

  • 关键词:类,构造函数,运算符重载,高斯-若尔当消元法,友元函数

Exp4:多态-平面图形

定义抽象基类 Shape,由它派生出 3 个派生类:Circle、Triangle、Rectangle。 用虚函数分别计算多个不同类图形的面积,并求它们的面积和。

  • 关键词:抽象基类,类继承,虚函数/纯虚函数,多态