- 博客(14)
- 收藏
- 关注
原创 ~~~构造函数 初始化列表
考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其。当前主流的相对新⼀点的。式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成。引⽤成员变量,const成员变量,没有默认构造的类类型变量,必须放在初始化列表位置进⾏初。6.友元类的关系是单向的,不具有交换性,⽐如A类是B类的友元,但是B类不是A类的友元。内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使⽤,那么可以。
2025-08-30 10:14:54
785
原创 ~~~C++的构造函数和析构函数 并实现日期类
一. 类的默认成员函数默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要,我们稍微了解⼀下即可。其次就是C++11以后还会增加两个默认成员数,移动构造和移动赋值,这两个先不说。默认成员函数很重要,也⽐较复杂,我们要从两个⽅⾯去学习::我们不写时,编译器默认⽣成的函数⾏为是什么,是否满⾜我们的需求。
2025-08-24 11:52:29
976
原创 ~~关于C++中类的定义
1.class为定义类的关键字,person为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。2.为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m开头,注意C++中这个并不是强制的,只是⼀些惯例.3.
2025-08-23 11:31:04
931
原创 C++核心特性深度解析
C++作为高性能系统开发的首选语言,其核心特性在工程实践中展现出独特价值。命名空间有效解决了符号污染问题,现代IO流提供了类型安全的输入输出方案。函数增强特性中,缺省参数提高了接口灵活性,函数重载实现了自然的多态行为。引用机制在保持指针性能优势的同时,提供了更安全的语法形式。内联优化通过消除调用开销提升热点代码性能,nullptr则彻底解决了空指针的类型安全问题。这些特性共同构成了C++区别于其他语言的核心竞争力,但需要开发者深入理解底层机制才能避免误用。
2025-08-19 11:28:56
374
原创 深入剖析C++ Vector:从底层实现到性能优化
Vector是C++标准模板库(STL)中最常用的序列式容器之一,它提供了一种动态数组的实现方式。动态扩容:能够根据需要自动调整存储空间随机访问:支持O(1)时间复杂度的元素访问尾部高效:在尾部插入/删除元素效率高连续存储:元素在内存中是连续存储的通过实现一个简化版的Vector,我们深入理解了:动态数组的内存管理原理容器设计的核心思想C++模板编程的实际应用异常安全的重要性性能优化的各种技巧建议在实际项目中使用标准库的Vector,但理解其底层实现对于成为高级C++开发者至关重要。
2025-08-05 21:03:04
724
原创 ~~~C++ 的List:从原理到手写一段完整的List容器
在 C++ 中,std::list是一个双向链表实现的容器,支持高效的元素插入和删除。本文将深入探讨list的设计原理,并手把手教你实现一个简化版的list容器。了解 C++ 基础语法(类、模板、指针)。对 STL 容器感兴趣,希望理解底层实现。
2025-08-02 22:00:44
750
原创 C++中的string
string 由其名字我们就可以知道是字符串,在c语言的学习中我们使用了数组去存储字符串,而在c++中我们拥有一个string类来表示字符串。--修改字符串的长度。--实现字符串的增删。--清除string下字符串的内容,字符串长度变0。--获取string中字符串的长度。--指定开辟空间的大小。
2025-01-21 20:55:37
988
原创 单链表MysigleList和双向链表LinkedList
6.void remove(int val) 删除链表中第一次出现和val值相等的结点。5.void addIndex(int key,int val) 在第key个数中插入val值的结点。1.双链表中有三个域,分别是值域,next域(指向下一个结点),prev域(指向上一个结点)。2.确定链表中有什么域,我们先简单的给予其值域val,指针域next。
2024-07-16 22:01:49
322
原创 Cloneable
如上式代码可见:person1.m.money改变person2.m.money与其发生一样的改变。我们希望person2.m.money不随着person1.m.money改变而改变。.Cloneable顾名思义就是复制,克隆。接下来我们将要使用Cloneable进行Java中克隆。2.在person中的clone方法中先要克隆person类中的数,再通过引用克隆money的类。2.要注意在person中接入Cloneable接口。1.要在person中重写clone方法。3.要注意异常的排除。
2024-07-15 22:22:04
181
原创 Comparable与Comparator
Array.sort中使用了compareTo方法进行比较,并使用Comparable进行了向上转型(使得每一个类只要是继承了Comparable的都可以使用它来进行排序)一般我们比较大小时使用的是> < =,但是对于一个类中它具有多重属性,那要根据什么属性来比较那就成立一大问题,所以我们要使用Comparable。由于comparable是接口,所以我们需要重写comparable中的方法compareTo,在compareTo中写自己想要比较的属性。1.Comparable的使用。
2024-07-07 19:56:59
204
原创 Java中的类与对象
static修饰的成员变量称为静态成员变量,它不属于具体的某个变量,而是所有变量所共有的。static修饰的成员方法与修饰成员变量是相似的,也是不属于具体的某个对象,而是类的方法。第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责 将调用成员方法。是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且。2.一台冰箱的功率,额定电压,颜色,它的品牌。1.public:它的范围是最广的,可以在不同包的非子类中使用。比如:1.一个人的升高,体重,喜好。
2024-05-25 19:29:11
604
原创 用C语言实现扫雷游戏
在这时我们已经完成了游戏的前期准备环节,之后我们就要开始设计游戏运行的代码了,在上面我们可以看到我们自己创建了一个game()函数,其目的就是为了防止主函数过于复杂。首先,我们必须先写一个目录,目录可以非常有效的降低玩家的上手难度,增加玩家对这款游戏的满意度,这里我们用一个简单的函数实现。我们要给这两个数组赋值,我们先将mine数组全部赋值’0‘,在将show数组全部赋值’*“。从下图我们创建了两个二维数组,用来表示雷存在的数组,和在该坐标周围存在几个雷的数组。到了最后一步就是我们找雷的环节,如下图。
2024-01-31 18:20:33
251
原创 ~自我介绍
在该学期本专业学到了有关C语言编程的知识,为了进一步巩固知识点和发现C语言学习的不足希望在这个寒假利用好时间学习。我希望我的编程知识不仅仅是存在脑子里,更多的应用于实践,不仅仅是在学校通过那所谓的C语言考试,更希望以后从事此类活动。我不去说每周花多长时间,我认为C语言的养成是从每天开始的,我希望每天可以花个三小时去听课,再花一两个小时完成作业。1.跟上老师的节奏,在课堂上面认真听讲,为自己的编程打好一定的知识基础。我很想进入像腾讯这样的公司工作,在这家公司挖掘自己的价值。
2024-01-26 18:38:33
209
2
原创 C语言的分支与循环语句
其中continue是跳过continue下面的语句,再执行一遍continue上面的语句,常常可能会出现死循环。在使用continue时,同样跳过continue后面的部分然后重新执行条件语句,一般不会出现死循环。1.switch是一种特殊的if...else结构,用于判断有多个结果的情况,但其适用有一定的局限性,不如if...else那样广泛。1.while循环同样需要注意括号里面的条件,如果满足括号里面的条件则进入循环,如果不满足则跳出或根本就不进入循环。循环语句一般都有嵌套,需要我们灵活运用。
2024-01-26 18:34:25
494
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅