【C++】类和对象②(类的默认成员函数:构造函数 | 析构函数)
🔥个人主页:Forcible Bug Maker 🔥专栏:C++ 目录 前言 类的6个默认成员函数 构造函数 概念 构造函数的特性及用法 析构函数 概念 析构函数的特性及用法 结语 前言 进入到类和对象内容的第二节,上篇博客中介绍了类和对象的一些基本特性,接下来就要讲到类的六个默认成员函数。C++类的六个默认成员函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载、取地址重载和const取地址...
类的函数成员(三):拷贝构造函数
一.什么是拷贝构造函数? 1.1 概念 同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完全可行的。这个拷贝过程只需要拷贝数据成员,而函数成员是共用的(只有一份拷贝)。 在建立对象时可用同一类的另一个对象来初始化该对象,这时所用的构造函数称为拷贝构造函数( Copy Constructor)。 拷贝构造函数的参数必须采用引用类型...
利用私有构造器或者枚举类型强化Singleton属性
下面代码是一个简易的单例模式,在类加载的时候就会调用私有构造方法创建一个INSTANCE。此时只要运行main函数就会加载Elvis类,即使main函数中一行代码也没有,控制台也会输出一句“调用了私有构造方法”。无论多用多少次 Elvis.INSTANCE 返回的都是同一个对象。 public class Elvis { // 方式一: public static final Elvis INSTAN...
用静态工厂方法代替构造器
用静态工厂方法来代替构造方法。 public class Student { private String name; private int age; private String studentId; private Student(String name, int age, String studentId) { this.name = name; this.age = age; this.st...
当构造器参数较多时考虑用生成器
重叠构造器模式 ——不能很好地扩展: public class Person { private String name; // 必填 private int ag...
【LeetCode: 330. 按要求补齐数组 + 贪心 + 构造区间】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 贪心 + 构造区间🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 330. 按要求补齐数组2952. 需要添加的硬币的最小数量 ⛲ 题目描述 给定一个已排序的正整数数组 nums ,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums ...
[C++11] 理解继承构造函数
说明:继承构造函数是 C++11 引入的一个特性,它允许派生类(derived class)通过简单的声明来继承一个或多个基类(base class)的构造函数。这意味着派生类可以直接使用基类的构造函数来初始化其继承的基类部分,而不需要在派生类中显式地重写或复制这些构造函数的初始化代码。 这个特性的主要目的是减少代码重复,并提高代码的可读性和可维护性。通过继承构造函数,派生类可以清晰地表明它继承了基类...
[C++11] 理解委托构造函数
说明:委托构造函数是 C++11 引入的一种特殊类型的构造函数,它通过调用同一个类中的另一个构造函数来初始化对象。这种构造函数在声明时使用 : 符号后跟其他构造函数的初始化列表,而不是在函数体内调用。委托构造函数的主要目的是避免代码重复,并简化多个构造函数之间的共同初始化逻辑。以下是一个简单的委托构造函数的示例: class MyClass {public: // 基本构造函数,接受两个参数 MyC...
php反序列化——pop链构造[SWPUCTF 2021 新生赛]pop [NISACTF 2022]babyserialize
构造pop链 [SWPUCTF 2021 新生赛]pop 用反推法 从后往前推 这题的最后一步很明显 只要给$admin和$passwd赋值 就会echo flag 所以反推法第一步就是要调用Getflag()函数 找到$this->w00m->{$this->w22m}(); $this->mw00->{$this->w22m}();的意思是调用当前对象的 w00m 属性中名为 $this->w22...
如何阅读“计算机界三大神书”之一 ——《计算机程序的构造和解释》SICP
文章目录 01 书籍讲解02 书籍目录解析03 文末福利04 中奖名单 -- 待定 01 书籍讲解 《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,简记为SICP)是MIT的基础课教材,出版后引起计算机教育界的广泛关注,对推动全世界大学计算机科学技术教育的发展和成熟产生了很大影响。这本书的第1版于1984年出版,第2版于...