CS205 Lab14 Exceptions
本章实验中,将会利用try-catch,thorws的特性来查看抛出异常,我们在调试过程中适当加入try-catch可以有效排除我们的错误。我们在这一讲中会提及assert方法,利用类自定义一个MyException来用e.what()抛出异常,结合模板,这种自定义为我们的程序调试增加了一定的灵活性。
2426 字
|
12 分钟
CS205 Lab13 Class Composition & Templates
本实验将探讨C++中两种重要的代码组织和复用技术:类的组合和模板。我们将学习如何通过在一个类中包含另一个类的对象来实现组合(“has-a”关系),并理解其构造和析构顺序。随后,我们将深入研究模板,特别是类模板,了解如何创建可用于多种数据类型的通用类。我们还将讨论模板的特化,包括完全特化和部分特化,以及何时选择使用模板而非继承。
3596 字
|
18 分钟
CS205 Lab12 Class Inheritance & Polymorphism
本实验将深入探讨面向对象编程的两个核心概念:继承和多态性。我们将学习如何通过继承来创建类层次结构,实现代码重用,并理解不同继承方式下的访问权限。更重要的是,我们将探索多态性如何通过虚函数实现,从而允许我们以统一的方式处理不同派生类的对象。此外,我们还将讨论在继承体系中正确管理动态内存和使用虚析构函数的重要性。
3052 字
|
15 分钟
CS205 Lab11 Dynamic Memory in Classes
本实验旨在帮助学生深入理解和熟练运用 C++ 中的运算符重载 (Operator Overloading) 机制,以及与之相关的类类型转换 (Class Type Conversion)。学生将学习如何为自定义类赋予标准运算符新的含义,使代码更直观易懂,并掌握不同类型间转换的控制方法。
2559 字
|
13 分钟
CS205 Lab10 Class 2 : operator overloading
C++ 中的运算符重载,包括其规则、成员与非成员函数的实现、返回值考量,以及类类型转换(隐式、显式、转换函数)。笔记中还简要对比了 Python 中的运算符重载,并提供了相关的代码示例和练习题以供学习。
2986 字
|
15 分钟
CS205 Lab09 Class 1- Basics Constructors and Destructors
本实验的核心目标是掌握C++中类的基本定义与使用,为后续更复杂的面向对象编程打下坚实基础。包括类的基本构成,对象的创建与使用,以及const与static的特性
2453 字
|
12 分钟
CS205 Lab08 SIMD and OpenMP
本实验主要介绍 SIMD(单指令多数据)和 OpenMP 并行编程的基础知识。我们将探讨 Intel 和 ARM 平台上的 SIMD 指令集,学习如何使用 Intrinsics 加速程序,并了解 OpenMP 的基本用法。
2402 字
|
12 分钟
CS61B 链表
数据结构是计算机存储、组织数据的方式。选择合适的数据结构对于设计高效的算法和程序至关重要。这一讲我们着重于链表的定义,如何优化,其变种,以及最重要的哨兵节点优化
8174 字
|
41 分钟
Cover Image of the Post