自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 C++函数指针和std:function、std:bind

std:bind——将函数或可调用对象与特定参数绑定,从而创建一个新的可调用对象;语法:函数类型+(指针)(参数类型)= 所指函数。封装lambda表达式。

2024-09-23 09:10:19 232

原创 C++lambda表达式

lambda表达式——匿名函数(闭包)

2024-09-22 17:14:20 357

原创 STL-常用算法

注意:统计自定义数据类型的时候,需要配合重载。

2024-09-06 20:34:38 283

原创 STL—函数对象

其中negate是一元运算,其他都是二元运算。

2024-09-04 14:42:58 175

原创 C++STL

STL(Standard Template Library,标准模板库)STL从广义上分为:容器(container)算法(algorithm)迭代器(iterator)容器和算法之间通过迭代器进行无缝连接STL几乎所有代码都采用了模板类或者模板函数

2024-09-03 21:26:16 1235

原创 C++模板

将声明和实现写到同一个文件中,并更改后缀名为.hpp,.hpp是约定的名称,并不是强制。typename --- 表面其背后的符号是一种数据类型,可以用class代替。建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表。建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个。T --- 通用的数据类型,名称可以替换,通常为大写字母。全局函数类外实现 - 需要提前要编译器知道全局函数的存在。在上述代码中,如果传入的是数组或者类,就无法实现了。模板的通用性并不是万能的。

2024-08-16 10:08:38 338

原创 C++文件操作

文件的类型分为两种:1.文本文件 - 文件以文本的ASCII码形式存储在计算机中2.二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类1.ofstream:写操作2.ifstream:读操作3.fstream:读写操作。

2024-08-03 22:55:40 377

原创 C++多态

1.有。

2024-07-29 22:08:01 197

原创 C++继承

首先,无论是哪一种继承方式,父类中的私有类型是无法访问的(设置成友元除外)。而变成子类中的private类型时,子类本身是可以对其进行访问的,比如第三种情况。当然,在类外依旧无法访问类内的私有成员。父类的所有非静态成员属性都会被子类继承下去,其中private类型的只是没有办法访问,但是依旧被继承下来了。这里加上了Animal::,等于说指明了作用域,因此可以访问父类中的同名成员了。这样,后来的Sheep类,Tuo类以及YangTuo类都能指向同一份数据c。保护类型:类内可以访问,而类外不能访问。

2024-05-17 20:34:49 773

原创 C++运算符重载

原理和成员函数基本相同,返回值为类型,区别只是参数变成了两个类。将函数名命名为operator+,就可以对‘+’进行重载。

2024-05-12 23:09:54 229 1

原创 C++ 友元

将一个类作为另一个类的友元,这样前一个类创建的对象就可以访问后一个类的私有成员变量。这时,将Friend设置为Building类的友元,就可以继续访问。在Friend函数中,如果直接调用私有成员变量,程序报错。这样,可以单独将类的一个成员函数作为友元。

2024-04-18 21:05:26 349 1

原创 C++ 深拷贝与浅拷贝

我们注意test函数,在p1创建时调用了含参构造函数,而这里m_Height由于是指针类型的,所以我们new了一块内存,使m_Height指向160的内存地址。此时在拷贝构造函数中我们看到,对于m_Height,这个是进行直接赋值的,由于m_Height是指针类型,所以这里代表。由于堆中内存需要手动销毁,所以我们选择在析构函数调用时顺便手动销毁堆中的内存,运行后发现程序报错。我们观察拷贝构造函数,发现此时p1,p2的堆区已经不一样了,这时再运行就没有问题了。这就是浅拷贝直接赋值会出现的问题,堆区指向重叠。

2024-04-16 23:13:03 589 1

原创 Java开发-一小时学会贪吃蛇游戏

(paintComponent方法其实属于Panel的超类JComponent,不过因为添加到框架时要用到JPanel,故这里也可以理解为重写),同时在MySnake类中,创建一个MyPanel类的对象,添加到f中。画完之后,要建立食物和蛇的互动,当蛇头坐标等于食物时,蛇的长度增加,由于长度增加这一事件属于活动,我们自然想到在actionPerformed方法中进行。是一种常见的做法,主要用于执行一些基本的图形绘制处理,如清除旧的画面内容,确保组件的其他部分正确渲染,以及处理一些继承的绘图逻辑。

2024-04-15 13:00:23 2165 1

原创 Java 稀疏数组

运行结果:意思是11行11列,有两个有效的元素(其余元素为0)1 2 1 的意思是第二行第三列有一个元素,值为12 3 2 的意思是第三行第四列有一个元素,值为2。

2024-04-11 21:17:44 257 1

原创 Java 多态

static 方法:因为static方法属于类本身而不是实例,因此子类无法提供一个不同的static方法来“替换”或“重写”父类中的static方法。(当你尝试在子类中定义一个与父类static方法签名相同的方法时,你实际上是在子类中隐藏(或阴影,shadowing)了父类的static方法,而不是重写它。这意味着在子类中调用该方法时,将执行子类的static方法,而不是父类的。对于子类对父类重写的方法,无论是父类引用指向子类对象(多态)还是直接创建一个子类对象,都会调用子类中已经重写的方法。

2024-04-11 19:47:09 287 1

原创 Java static字段

在使用时,(静态)代码块会在类被加载到JVM时运行,主要用于初始化静态变量,或者在类加载时执行一些只需执行一次的代码。如图在导入random后将其设为静态的,即可不用Math.random(),而是直接调用。关键字进行标记,并且它们不是类的成员,而是属于类本身。调用顺序:静态代码块->代码块->构造器。,且按照它们在类中出现的顺序执行。

2024-04-11 19:21:21 212 1

Java开发-一小时学会贪吃蛇游戏

MyPanel类的源代码

2024-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除