委托构造函数 委托构造函数允许在同一个类中一个构造函数调用另外一个构造函数,可以在变量初始化时简化操作,通过代码来感受下委托构造函数的妙处吧: 不使用委托构造函数: struct A { A(){} A(int a) { a_ = a; } A(int a, int b) { // 好麻烦 a_ = a; b_ = b; } A(int a, int b, int c) { // 好麻烦 a_ = a; b_ = b; c_ = c; } int a_; int b_; int c_; }; 使用委托构造函数: struct A { A(){} A(int a) { a_ = a; } A(int a, int b) : A(a) { b_ = b; } A(int a, int b, int c) : A(a, b) { c_ = c; } int a_; int b_; int c_; }; 初始化变量是不是方便了许多。 继承构造函数 继承构造函数可以让派生类直接使用基类的构造函数,如果有一个派生类,我们希望派生类采用和基类一样的构造方式,可以直接使用基类的构造函数,而不是再重新写一遍构造函数,老规矩,看代码: 不使用继承构造函数: struct Base { Base() {} Base(int a) { a_ = a; } Base(int a, int b) : Base(a) { b_ = b; } Base(int a, int b, int c) : Base(a, b) { c_ = c; } int a_; int b_; int c_; }; struct Derived : Base { Derived() {} Derived(int a) : Base(a) {} // 好麻烦 Derived(int a, int b) : Base(a, b) {} // 好麻烦 Derived(int a, int b, int c) : Base(a, b, c) {} // 好麻烦 }; int main() { Derived a(1, 2, 3); return 0; } 使用继承构造函数: struct Base { Base() {} Base(int a) { a_ = a; } Base(int a, int b) : Base(a) { b_ = b; } Base(int a, int b, int c) : Base(a, b) { c_ = c; } int a_; int b_; int c_; }; struct Derived : Base { using Base::Base; }; int main() { Derived a(1, 2, 3); return 0; } 只需要使用using Base::Base继承构造函数,就免去了很多重写代码的麻烦。委托构造函数和继承构造函数
张小明
前端开发工程师
JS逆向 - 某程 w-payload-source 纯算、补环境分析
文章目录概要整体架构流程技术名词解释小结概要 提示:仅供学习,不得用做商业交易,如有侵权请及时联系 也是很久没有更新教学文章了,这次就更新一波纯算和补环境 逆向:某程 header请求头参数 w-payload-source 纯算、补…
SQL学习应用工作场景(2)--执行优先级+语法顺序+保留2位小数
前言:我们先看需求,拆解分析思考。然后再实操写SQL。然后分析我中途写的时候遇到的问题以及解决方法,最后在此基础上优化扩展~~~~想看哪个部分的根据目录跳转吧(*^▽^*)一、需求描述:我们需要计算在2025-12-24之后的2条listing的净…
Scala 数组
Scala 数组 概述 Scala 是一门多范式编程语言,它结合了面向对象和函数式编程的特性。在 Scala 中,数组是一种基本的数据结构,用于存储一系列有序的元素。本文将详细介绍 Scala 数组的概念、创建方法、操作方法以及一些高级特性。 创建数组 在 Scala 中,数组的创建主要有…
MySQL 知识点:函数索引(Functional Index)
MySQL 技术文档:函数索引(Functional Index) 1. 概述 在 MySQL 8.0.13 之前,索引必须关联到表的列或列的前缀。如果查询条件对列使用了函数(如 WHERE UPPER(name) TOM),即使 name 字段有索引…
2026年AI产品经理进化论:当“业务直觉”遭遇“技术理性”
展望2026年,AI产品经理这一角色正站在一个关键转折点上。一边是传统产品领域赖以成功的深度用户洞察与敏捷迭代能力,另一边是驱动AI产品的复杂技术逻辑与数据依赖,两者之间正在形成一种深刻的张力。一位资深产品总监曾感慨:“过去…