- 博客(15)
- 收藏
- 关注
原创 【CS106B】作业2 Assignment 2. Fun with Collections
【代码】【CS106B】作业2 Assignment 2. Fun with Collections。
2024-07-15 23:16:59
341
原创 【C++学习笔记 12】C++中的可见性
可见性是面向对象中的概念,它是指一个类中的成员或方法是否可见,即谁能够访问,谁能够调用?可见性不会影响代码的性能,它仅在语言层面,只是用来辅助写出更好的代码。
2024-07-13 17:06:52
661
原创 【C++学习笔记 11】C++中的接口(纯虚函数)
原理上来讲,纯虚函数允许我们定义一个在基类中没有实现的函数,然后强制在子类中去实现这个函数。如果在基类中的虚函数带有实际函数体,那么在子类中重写函数是可写可不写的,这时调用的就是基类中的函数体。然而,在有些场景中,提供默认的函数体没有意义,实际上的需求只是强制子类为某个特定的函数提供自己的定义。在面向对象的程序设计中,创建一个只包含未实现的方法然后让子类去实现实际功能的做法非常普遍,这一般被称为接口(interface),即一个只包含未实现的方法并作为一个模板的类。
2024-07-10 21:50:31
1068
原创 【CS106B】作业1 Assignment 1. Welcome to C++!
之前学的,后面中断了,先把中断前做的作业po一下吧,学完慢慢续上。
2024-07-07 13:42:00
368
原创 【C++学习笔记 9】C++中的继承
继承使类之间有了相互关联的层级关系,从最开始的父类中可以创建出很多的派生类,它可以帮助我们避免很多重复的代码。
2024-07-06 11:14:54
232
原创 【C++学习笔记 8】C++中的析构函数
构造函数一般用于创建实例或初始化,而析构(destructor)函数则是在销毁一个对象时使用的。析构函数可以用在释放任何内容或需要清理内存空间的场景。
2024-07-04 23:57:06
397
原创 【C++学习笔记 6】C++中的枚举
enum是enumeration的缩写,基本上就是一些值的集合,或者说是在给一些值的集合一个名称。这便于让我们设置一组数值,在给这些值命名之后,代码会变得更加易读。定义枚举的主要目的是增加程序的可读性,枚举值的本质就是一个整数。
2024-06-24 21:45:59
586
原创 【C++学习笔记 5】C++中的static
在class之外的static,意味着被修饰的符号在link阶段只在局部有效,它只对定义它的编译单元(.obj)可见。在class或struct中的static,这意味着这部分内存是这个类中的所有实例所共享的。
2024-06-17 22:44:12
652
原创 【C++学习笔记 4】C++中的类
试想一下,假如我要写一个游戏,玩家在其中移动假如存在多个玩家,那我只能多次定义玩家,并且多次引用同一个函数,这样的重复会导致很多难以维护的代码,因此,引入类的概念,通过面向对象编程来简化代码。
2024-06-16 17:59:11
383
原创 【C++学习笔记 3】指针
指针实际上就是一个整数,存储着一个内存地址。不必执着于用“类型”的概念区分,那只是为了方便设计出来的,所有的指针,本质上都是一个整数,存储着一个内存的地址。当在类型后加*时,意味着这个变量是个指针,当在变量前加&时,表示在问这个变量:“你的地址是啥?在定义指针变量这行打上断点,运行后发现指针变量的确存储一个数,在内存视图进入这个数表示地址,可以看到里面存储着8。当改变指针类型为int,可以发现做的事情并没有变。
2024-06-15 21:36:28
481
原创 【C++学习笔记 2】C++中的变量
在C++中,不同变量(variable)类型的唯一区别就是大小,即这个变量具体占用多少内存。比如int,整型占用4个byte, 这个标准由编译器决定。
2024-06-13 22:49:16
230
原创 【C++学习笔记 1】C++程序是怎样运行的
coding的过程,实际上编写的是只是一些文本,将其传入编译器后,它会被翻译成机器能够识别的二进制文件(binary),让机器听从指令运行。这段最基本的代码由引入头文件和主函数构成。被称为预处理指令(preprocess语句),以开头的都属于这类语句,对这类语句的编译发生于对主程序本身的编译,因此被称为预处理指令。其中如#include,将内容直接粘贴到这句代码所在的位置;#define,搜索并替换内容;#if #endif满足条件时才执行代码。
2024-06-12 21:31:22
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人