继承与派生的概念

基类与派生类

  • 继承是面向对象程序设计的一个重要特性,是软件复用的一种重要形式
  • 继承允许在原有类的基础上创建新的类,新类可以从一个或多个原有类中继承数据成员和成员函数,并且可以重新定义或增加新的成员,从而形成类的层次。继承具有传递性,不仅支持系统的可重用性,而且还促进系统的可扩充性。
  • 类的对象是各自封闭的,如果没有继承性机制,则类对象中数据、函数就会出现大量重复
  • 一个新类从已有的类那里获得其特性这种现象称为类的派生
  • 派生分为单级派生和多级派生
  • 继承分为单一继承(一个派生类只有一个基类派生)和多重继承(一个派生类有两个及两个以上的基类)
  • 派生类是基类的组合,可以把多重继承看做是多个单一继承的简单组合

派生类的定义

  • 定义派生类的一般形式为:

    class 派生类名:类派生列表{ //类体成员列表
    };
    
  • 类派生列表指定了一个或多个基类,具有如下形式

      访问标号 基类名
    
    • 访问标号表示继承方式,可以是public(公有继承)、protected(保护继承)或private(私有继承),继承方式决定了对继承成员的访问权限。如果未给出访问标号则默认为private
  • 派生类的成员列表描述的是派生类自己新增加的数据成员和成员函数

  • 注意:

    • 如果基类定义了静态成员,则整个继承层次中只有一个这样的成员。无论从基类派生出多少个派生类,每个静态成员只有一个实例
    • 静态成员遵循常规访问控制:如果静态成员在基类中为私有的,则派生类不能访问它,如果该静态成员在基类是共公有的,则基类可以访问它,派生类也可以访问它
  • 派生类的设计

    • 从基类接收成员:除了构造函数和析构函数,派生类会把基类全部的成员继承过来。这种继承是没有选择的,不能选择接受一部分放弃另一部分
    • 调整基类成员的访问:派生类接收基类成员是不能选择的,但是可以对这些成员作出访问策略
    • 修改基类成员:可以在派生类中声明一个与基类成员同名的成员,则派生类中的新成员会覆盖基类的同名成员,就实现了修改基类成员功能的效果。
    • 在定义派生类时增加新的成员

类成员的访问

  • 如果没有继承,一个类只有两种类型的访问者:类成员和类用户。将类划分为private和public访问级别反映对访问者的访问权限:类用户只能访问公有成员,类成员和友元既可以访问公有成员也可以访问私有成员。有了继承,就有了类的第三种访问者:派生类成员
  • 派生类通常需要访问(一般为私有的)基类成员,为了允许这种访问而仍然禁止外部对基类的一般访问,可以使用protected访问标号。类的protected部分仍然不能被类用户访问,但是可以被派生类访问。
  • 只有基类类成员及其友元可以访问基类的private部分,派生类不能访问基类的私有成员
  • 对基类成员和派生类自身的成员是按不同的原则处理的,需要考虑以下6种情形:
    1. 基类的成员和友元访问基类成员
    2. 派生类的成员和友元访问派生类自己新增的成员
    3. 基类的成员访问派生类新增的成员
      • 基类的成员不能直接访问派生类的成员(因为有基类的时候尚未有派生类),但可以通过虚函数间接访问派生类的成员
    4. 派生类新增的成员访问基类的类成员
    5. 类用户访问派生类的成员
      • 基类的成员不能直接访问派生类的成员(因为有基类的时候尚未有派生类),但可以通过虚函数间接访问派生类的成员
    6. 类用户访问派生类的基类成员
    • 其中4、6是由访问标号决定的(不同的继承方式决定了基类成员在派生类中的访问属性):
      • 公有继承
        属性变化 对象访问 成员访问
        public -> public Y Y
        protected -> protected N Y
        private -> private N N
      • 保护继承
        属性变化 对象访问 成员访问
        public -> protected N Y
        protected -> protected N Y
        private -> protected N N
      • 私有继承
        属性变化 对象访问 成员访问
        public -> private N Y
        protected -> private N Y
        private -> private N N
    • 无论采用何种继承方式得到的派生类,派生类成员及其友元都不能访问基类的私有成员,派生类外部的用户只能访问公有属性的成员
    • 保护继承和私有继承中的属性变化意味着在派生类的派生类中,部分继承到的资源访问收到进一步限制。
  • 赋值兼容规则:赋值兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代
    • 派生类的对象可以赋值给基类对象
    • 派生类的对象可以初始化基类的引用
    • 派生类对象的地址可以赋给指向基类的指针

派生对象的产生

  • 在定义派生类时,派生类并没有把基类的构造函数和析构函数继承下来。因此,对继承的基类成员初始化的工作主要由派生类的构造函数来承担,同时基类的析构函数也要被派生类的析构函数来调用。
  • 派生类构造函数的定义,在执行派生类的构造函数时,使派生类的数据成员和基类的数据成员同时都被初始化。其定义形式如下:
    派生类名(形式参数列表):基类名(基类构造函数实参列表),派生类初始化列表
    {
    派生了初始化函数体
    }
  • 组合关系的派生类的构造函数
    • 假定派生类A和类B的关系是组合关系,类A中有类B的子对象。如果类B有默认构造函数,或者参数全市默认参数的构造函数,或者有无参数的偶早函数,那么类A的构造函数中可以不用显式初始化子对象。编译器总是会自动调用B的构造函数进行初始化
    • 可以在一个类的构造函数中显示地初始化其子对象,×××初始化式只能在构造函数初始化列表中×××,形式为:
      类名(形式参数列表):子对象名(子对象构造函数实参列表),类初始化列表
      {
      类初始化函数体
      }
    • 调用顺序为:
      • 调用基类构造函数
      • 调用子对象构造函数,各个子对象按其声明的次序先后调用;
      • 执行派生类初始化列表
      • 执行派生类初始化函数体
  • 注意
    • 如果在基类和子对象所属类的定义中都没有定义带参数的构造函数,而且也不需要对派生自己的数据成员初始化,那么可以不必显示地定义派生类构造函数。派生类会合成一个默认构造函数,并在调用派生类构造时,会自动先调用基类的默认构造函数和子对象所属类的默认构造函数
    • 如果在基类中没有定义构造函数,或定义了没有参数的构造函数,那么,在定义派生类构造函数时可以不显式地调用基类构造函数。在调用派生类构造函数,系统会自动先调用基类的无参数构造函数或默认构造函数
    • 如果在基类或子对象所属类的定义中定义了带参数的构造函数,那么就必须显式地定义派生类构造函数,并在派生类构造函数中显式地调用基类或子对象所属类的构造函数**(依据合成构造函数的性质)**
    • 如果在基类中既定义了无参数的构造函数,又定义了有参的构造函数(构造函数重载),则在定义派生类构造函数时,既可以显式调用基类构造函数,也可以不调用基类构造函数。(依据合成构造函数的性质)

继承体系横向扩展:多重继承

多重继承派生类

  • 多重继承派生类的定义
	class D:public B, public C {body};
  • 多重继承派生类的构造函数
    • 多重继承派生类的构造函数形式与单一继承时的构造函数形式基本相同,只是在派生类的构造函数初始化列表中调用多个基类构造函数。一般形式为:
    •   	派生类名(形式参数列表):基类名1(基类构造函数实参列表),基类名2(基类2构造函数实参列表)派生类初始化列表{派生类初始化函数体}```

二义性问题

  • 多重继承时,多个基类可能出现同名的成员。在派生类中如果使用一个表达式的含义能解释为可以访问多个基类的成员,则这种对基类成员的访问就是不确定的,称这种访问具有二义性。C++要求派生类对基类成员的访问必须是无二义性的
    • 解决方法:使用成员名限定可以消除二义性,名字支配规则
class A {public:void fun() {}
};
class B {public:void fun() {}void gun() {}
};
class C:public A, public B{public:void gun() {}//重写gun()void hun() { fun();}//出现二义性
};使用成员名限定可以消除二义性,例如:c.A::fun();c.B::fun();p->A::fun();p->B::fun();
  • 名字支配规则:C++对于在不同的作用域声明的名字,可见性原则是:如果存在两个或多个具有包含关系的作用域,外层声明了一个名字,而内层没有再次声明相同的名字,则外层名字在内层不可见,这时称内层名字隐藏(或覆盖)了外层名字,这种现象称为隐藏规则
    • 在类的派生层次结构中,基类的成员和派生类新增的成员都具有类作用域,二者的作用域是不同的:基类在外层,派生类在内层
    • 如果派生类声明了一个和基类成员同名的新成员,派生的新成员就覆盖了基类同名成员,直接使用成员名只能访问到派生类的成员
    • 如果派生类中声明了与基类成员函数同名的新函数,即使函数的参数不同,从基类继承的同名函数的所有重载形式也都会被覆盖
    • 如果要访问被覆盖的成员,就需要使用基类名和作用域限定符

重复继承问题

  • 解决方法:虚基类
  • C++提供虚基类(virtual base class)的机制,使得在继承间接共同基类时只保留一份成员
    class A
    class B1:public A{
    }
    class B2:public A{
    }
    class D:public B1,public B2{
    }//此时D继承了A两次
    
  • 虚基类的定义
class 派生类名: virtual 访问标号 虚基类名,...{//类体成员列表
};

需要注意,为类保证虚基类在派生类中只继承一次,应当在该基类的所有直接派生类中声明为虚基类。否则仍然会出现对基类的多次继承

  • 虚基类举例
#include <iostream>
using namespace std;
class A //声明为基类A
{
public://外部接口A(int n){}void fun(){}
private:int nv;//私有数据成员
};
class B1:virtual public A //声明A为虚基类
{
public:B1(int a):A(a){ cout <<"Member of B1"<<endl;}//B1类的构造函数
private:int nv1;
};
class B2:virtual public A //声明A为虚基类
{
pubic:B2(int a):A(a){};
private:int nv2;
};
class C:public B1,public B2
{
public://派生类的构造函数的成员初始化列表中必须列出对虚基类构造函数的调用C(int a):A(a), B1(a), B2(a){}void fund(){}
private:int bvd;
};
int main()
{C c1(1);c1.fund();c1.fun();//不会产生二义性return 0;
}
  • 虚基类的初始化
    • 如果在虚基类中定义了带参数的构造函数,而且没有定义默认构造函数,则在其所有派生类(包括直接和间接派生)中,都要通过构造函数的初始化表对虚基类进行初始化。
    • 在最后的派生类中不仅要负责对其直接基类进行初始化,还要负责对虚基类初始化
  • 注意:
    • 派生类的构造函数的成员初始化列表中必须列出对虚基类构造函数的调用;如果未列出,则表示使用该虚基类的默认构造函数
    • 在一个成员初始化列表中同时出现对虚基类和非虚基类构造函数的调用时,虚基类的构造函数先于非虚基类的构造函数执行

继承体系纵向扩展:多态

多态性概念:

  • 多态是指同样的消息被不同类型的对象接受时导致不同的行为。所谓消息是指对类成员函数的调用,不同的行为是指不同的实现,也就是调用了不同的函数

  • 面向对象程序设计的真正力量不仅仅是继承,而是允许派生类对象像基类对象一样处理,其核心机制就是多态动态联编**

  • 从广义上说,多态性是指***一段程序能够处理多种类型对象的能力***(同一段程序,处理不同的对象时,发生不同的动作)。在C++中,这种多态性可以通过(前两个一大类,后两个一大类)

    • 重载多态(函数和运算符重载)
      • 重载是多态性的最简单形式,分为函数重载和运算符重载
      • 重定义已有的函数称为函数重载。在C++中既允许重载一般函数,也允许重载类的成员函数。如对构造函数进行重载定义,可以使程序有集中不同的途径对类对象进行初始化
      • C++允许为类重定义已有运算符的语义,使系统预定义的运算符可操作于类对象。如流插入(<<)运算符和流提取(>>)运算符(原先语义是位移运算)
    • 包含多态(继承及虚函数)
      • CPP中采用虚函数实现包含多态。虚函数为C++提供了更为灵活的多态机制,这种多态性在程序运行时才能确定,因此虚函数是多态性的精华,至少含有一个虚函数的类型称为多态类。包含多态在面向对象程序设计中使用十分频繁
      • 派生类继承基类的所有操作,或者说,基类的操作能被用于操作派生类的对象。当基类的操作不能适应派生类时,派生类就需要重载基类的操作
    • 强制多态(强制类型转换)
      • 强制多态也称类型转换
      • C++定义了基本数据类型之间的转换规则,即:
        • char -> short -> int -> unsigned -> long -> unsigned ->long ->float ->double ->long double
      • 同时,可以在表达式中使用3种强制类型转换表达式:
        • static_cast (E)
        • T(E)
        • (T)E
    • 类型参数化多态(模板)
      • 参数化多态即:将类型作为函数或类的参数,避免了为各种不同的数据类型编写不同的函数或类,减轻了设计者负担,提高了程序设计的灵活性
      • 模板是C++实现参数化多态性的工具,分为函数模板和类模板。类模板中的成员函数均为函数模板,因此函数模板是为类模板服务的

包含多态

  • 当函数名称相同,签名不同时,用重载实现多态,当函数名相同,签名也相同时,用包含多态(虚函数)实现多态

  • 联编(binding)又称绑定,就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数分配内存地址,并且对外部访问也分配正确的内存地址

  • 在编译阶段就将函数实现和函数调用绑定起来称为静态联编(static binding)。静态联编在编译阶段就必须了解所有函数或模块执行所需要的信息,它对函数的选择是基于指向对象的指针(或者引用)的类型。C语言中,所有的联编都是静态联编,C++中一般情况下联编也是静态联编。

  • 静态联编举例:

#include <iostream>
using namespace std;
class Point { //Point类表示平面上的点double x, y;//坐标值
public:Point(double x1 = 0, double y1 = 0):x(x1), y(y1){}//构造函数double area() {return 0;} //计算面积
};
class Circle:public Point { //Circle 类表示圆double r; //半径
public:Circle(double x, double y, double r1):Point(x, y),r(r1){}double area() { return 3.14*r*r;} //计算面积
};
int main()
{ Point a(2.5, 2.5); Circle c(2.5, 2.5, 1);cout << "Point area = " << a.area() << endl; //基类对象cout << "Circle area = " << c.area() << endl; //派生类对象Point *pc = &c, &rc = c; //基类指针、引用指向或引用派生类对象cout << "Circle area = " << pc -> area() << endl;//静态联编基类调用cout << "Circle area = " << rc.area() << endl; //静态联编基类调用return 0;
}
运行结果:Point area = 0Circle area = 3.14Circle area = 0    //pc指针是Point类,因为是静态联编,所以pc->area()调用的是基类的area()函数 编译的时候将基类函数和基类的指针和引用绑定在一起Circle area = 0
  • 动态联编
    • 如果在编译 ‘Point *pc = &c’ 时,只根据兼容性规则检查它的合理性,即检查它是否符合派生类对象的地址可以赋给基类的指针的条件。至于"pc->area()"调用哪个函数,等到程序运行到这里再决定
    • 如果希望"pc->area()"调用Circle::area(),也就是使类Point的指针pc指向派生类函数area的地址,则需要将Point类的area函数设置成虚函数
    • 虚函数的定义形式为:
      virtual double area() {return 0;} //计算面积
  • 动态联编举例:
#include <iostream>
using namespace std;
class Point { //Point类表示平面上的点double x, y;//坐标值
public:Point(double x1 = 0, double y1 = 0):x(x1), y(y1){}//构造函数virtual double area() {return 0;} //虚函数
};
class Circle:public Point { //Circle 类表示圆double r; //半径
public:Circle(double x, double y, double r1):Point(x, y),r(r1){}double area() { return 3.14*r*r;} //虚函数
};
int main()
{ Point a(2.5, 2.5); Circle c(2.5, 2.5, 1);cout << "Point area = " << a.area() << endl; //基类对象cout << "Circle area = " << c.area() << endl; //派生类对象Point *pc = &a; //基类指针指向基类对象cout << "Circle area = " << pc -> area() << endl;pc =&c; //基类指针指向派生类对象cout << "Circle area = " << pc->area() << endl; //动态联编return 0;
}
运行结果:Point area = 0Circle area = 3.14Circle area = 0Circle area = 3.14
  • 虚函数的调用规则是:根据当前对象,优先调用对象本身的虚成员函数。这和名字支配规律类似,不过虚函数是动态联编的,是在运行时(通过虚函数表中的函数地址)”间接“调用实际上欲联编的函数。

  • 注意:

    • 只有用指针或者引用调用函数时候才有动态联编
    • 被virtual关键字修饰的成员函数,就是虚函数虚函数的作用就是实现多态性————以共同的方法,对不同的对象采取不同的策略
    • 需要注意,virtual只在类体中使用
      • 当在派生类中定义了一个同名的成员函数时,只要该成员函数的参数个数、参数类型以及返回类型与基类中同名的虚函数完全一样,则派生类的这个成员函数无论是否使用virtual,它都将会成为一个虚函数
      • 程序员习惯给派生类的同名函数也加上virtual,便于阅读理解
    • 使用虚函数并不一定产生多态性,也不一定使用动态联编。例如,在调用中对虚函数使用成员名限定,可以强制C++对该函数的调用使用静态联编
  • 虚函数实现多态的条件

    1. 类之间的继承关系满足赋值兼容性规则(赋值兼容规则仅针对公有继承)
    2. 改写了同名的虚函数
    3. 根据赋值兼容性规则使用指针(或引用)
    • 满足前两条并不一定产生动态联编,必须同时满足三条才能实现动态联编
  • 类成员函数的指针与多态性

    • 在派生类中,当一个指向基类成员函数的指针指向一个虚函数,并且通过指向对象的基类指针(或引用)访问这个虚函数时,仍将发生多态性。
      #include <iostream>
      using namespace std
      class Base {public: virtual void print() { cout << "Base" << endl;} //虚函数
      };
      class Derived: public Base{public: void print() {cout <<"derived" << endl; }//虚函数
      };
      void display(Base *p, void(Base::*pf)())
      {(p->*pf)();}
      int main()
      {Derived  d;Base b;display(&d, &Base::print); //输出Deriveddisplay(&b, &Base::print); //输出Basereturn 0;
      }
      
  • 何时需要虚函数

    • 首先看成员函数所在的类是否会作为基类。然后看成员函数在类的继承后有无可能被更改功能,如果希望派生类更改其功能的,一般应该将它声明为虚函数
    • 如果成员函数在类被继承后功能不需要修改,或派生类用不到该函数,则不要吧它声明为虚函数。不要仅仅考虑到要作为基类而把类中的所有成员函数都声明为虚函数
    • 应考虑对成员函数的调用是通过对象名还是通过基类指针或引用去访问,如果是通过基类指针或引用去访问的,则应当声明为虚函数。
  • 虚析构函数

    • 派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后再调用基类的析构函数
      • 但是,如果用new运算符建立了派生类对象,且定义了一个基类的指针指向这个对象,那么当用delete运算符撤销对象时,系统只会执行基类的析构函数,而不执行派生类的析构函数,因而也无法对派生类对象进行真正的撤销清理工作
    • 例如:
      Point *pp = new Circle; //基类指针指向派生类
      delete pp;//仅执行基类析构函数
      
    • 如果希望“deletepp”执行Circle的析构函数,那么基类Point的析构函数要声明为虚函数,称为虚析构函数。
    • 如果将基类的析构函数声明为虚函数,由该基类所派生的所有派生类的析构函数也都自动成为虚函数,即使派生类的析构函数与基类的析构函数名字不同
    • 当基类的析构函数为虚函数时,无论指针指的是同一类族中的哪一个类对象,系统总会采用动态联编,调用正确的析构函数,对该对象进行清理
  • 纯虚函数和抽象类

    • 在许多情况下,不能在基类中为虚函数给出一个有意义的定义,这时可以将它说明为纯虚函数(pure virtual function),将具体定义留给派生类去做。纯虚函数的定义形式为:
      virtual 返回类型 函数名(形式参数列表) = 0; \\在需函数的原型声明后加上“=0”,表示纯需函数根本没有函数体
    • 纯虚函数的作用是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。如果在一个类中声明了纯虚函数,而在其派生类中没有对该函数的定义,则该虚函数在派生类中仍然为纯虚函数
    • 包含有纯虚函数的类称为抽象类(abstract class)。一个抽象类只能作为基类来派生新类,所以又称为抽象基类(abstract base class)。抽象类不能定义对象。
    • 如果在派生类中给出了抽象类的纯虚函数的实现,则该派生类不再是抽象类。否则只要派生类仍然有纯虚函数,则派生类依然是抽象类。抽象类至少含有一个虚函数,而且至少有一个虚函数是纯虚函数。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. react中的 受控元素

    什么叫受控元素?就是说页面到底渲染成什么样完全由数据说了算,数据去控制它,那这种元素就被称为受控元素受控元素指的是什么呢?我们在元素 view 层有时会做一些事情,用户会在 view 层做操作,他操作完有可能会去改变原本视图层的内容 比如我们在输入框有一个字符串,这个字…...

    2024/4/24 6:54:09
  2. vue-i18n 国际化 实际项目中的整理

    前端国际化文档 一、简介 1、项目中使用的国际化插件----vue-i18n; 2、实现 前端页面的国际化实现,copy一份项目的中文,然后把页面上的中文全部改成英文,创建语言包,element ui组件的国际化已经在项目的配置文件中完成; 通过登陆页面的按钮触发事件的形式,来控制 lo…...

    2024/4/28 21:25:38
  3. Linux:CentOS7.4新建用户并授权

    一、创建新用户 1、创建一个新用户:prefma [root@localhost ~]# adduser prefma 2、为新用户创建初始化密码 [root@localhost~]# passwd prefma Changing password for user prefma. New password: # 输入密码 Retype new password: # 再次输入密码 passwd: …...

    2024/4/24 6:54:14
  4. 剑指offer刷题记录38--数字序列中某一位的数字

    该系列博客内容主要是《剑指Offer》中的经典题目,结合在刷题过程中见到的一些精彩的解题过程,从而在这里记录下来。代码以Python3实现。来自力扣大佬的解析代码如下...

    2024/4/30 16:58:56
  5. 洛谷 [POI2011]ROT-Tree Rotations 线段树合并

    参考博客:https://www.cnblogs.com/JYYHH/p/8777468.html这题从叶子结点开始 从下往上贪心就是正确的 贪心的思路就是 计算出左右两颗子树的顺序对和逆序对 然后取最小 一直向上合并线段树就行了 因此我们要维护siz(叶子节点的个数)#include<bits/stdc++.h> using na…...

    2024/4/16 21:47:49
  6. 做一个vue模态弹出框如何

    运用的知识点包括: 路由的配置 插槽 vue的过渡动画 路由重定向router/index.js里面配置路由import Vue from vue import Router from vue-router import Home from @/components/home import About from @/components/aboutVue.use(Router)export default new Router({mode:hi…...

    2024/4/16 21:47:49
  7. angularjs

    angularjs:$location.absUrl(); 当前页面的url$httpapp.serviceapp.filterSelect:ng-options="x for x in names" [{a: c, b: d},{a:c, b: d}]ng-options="x for (x,y) in sites" {a: b, c: d}ng-repeat="x in names"ng-repeat内 $indexng…...

    2024/4/15 7:26:11
  8. GKCTF_pwn_Domo(出题人角度)

    首先是昨天举行的GKCTF顺利举办,特别感谢为我们辛苦做题目测试与运维的glzjin师傅,为我们的比赛前前后后忙活了好几天。然后感谢各位师傅们辛苦来打比赛。 这次比赛我出了一道pwn,后来跟师傅们讨论的时候发现师傅们都是通过非预期来拿下flag的,这也让我学到了很多… 出题人的想…...

    2024/4/25 16:01:56
  9. 微服务:SpringCloud 添加ribbon 负载均衡(+源码分析!)

    在之前注册中心那一章,消费者调用提供者的接口,是需要写死这样的url的。但是真实的环境我们一般要求服务提供者高可用,所以呢同一个服务需要多个服务提供者。那么消费者就不能够写死这个url了。所以基于如此我们改一下代码。一、修改代码,添加ribbon实现负载均衡1、服务提供…...

    2024/4/16 21:47:37
  10. 09 Scala 隐式转换和隐式值

    隐式转换和隐式值 1. 隐式转换 1.1 隐式函数基本介绍隐式转换函数是以 implicit 关键字声明的带有单个参数的函数。这种函数会自动应用,将值从一种类型转换为另一种类型。1.2 快速入门 object ImplicitDemo01 { def main(args: Array[String]): Unit = { //编写一个隐式函数转…...

    2024/4/18 20:10:55
  11. 设计模式学习笔记四十一、迭代器模式

    一、介绍1、迭代器模式(Iterator Pattern)是常用的设计模式,属于行为模式。2、如果集合元素是不同的方式实现的,有数组,还有java的集合类,或者还有其他的方式,当客户端要遍历这些集合元素 => 可以考虑迭代器模式。3、迭代器模式:提供一种遍历集合元素的统一接口,用…...

    2024/4/16 21:48:01
  12. 215.数组中的第K个最大元素/347. 前 K 个高频元素

    2020-05-25 1.题目描述 数组中的第K个最大元素2.题解 1.使用冒泡排序 2.使用快速排序 3.优先队列(内部是用堆来实现的)3.代码 class Solution { public:int findKthLargest(vector<int>& nums, int k) {int l=nums.size();int i,j;for (i=0;i<k;i++){for (j=0;j…...

    2024/4/16 21:47:37
  13. vue中component组件嵌套,导致页面重复渲染,重复请求的bug

    vue中component组件嵌套,导致页面重复渲染,重复请求的bug 因详情页面,有多个tab选项卡考虑页面多处重复使用,而且有多个页面组成,最终决定使用 组件方式来引用页面。 因 项目采用的UI组件是 element-ui,刚好看到有一个 样式很类似于 tab选项卡,就采用了 element的 tabs组…...

    2024/4/23 13:31:19
  14. 艾永亮:颠覆传统行业,打造超级产品,了解并响应用户需求是关键

    想要打造超级产品,企业管理者不要做需求的“传声筒”,而是做需求的“翻译机”。 01 找到用户想要的 一直以来,无论是B端的产品,还是C端的产品,想要打造超级产品,都是以用户为核心。那么如何才算以用户为核心?难道是用户说自己需要什么产品,企业就做什么产品吗? 看到这…...

    2024/4/16 21:48:43
  15. Java基础学习之面向对象(上)

    作者:kuikui面向对象(上) 一、类与对象 1.面向对象学习的三条主线:Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的三大特征:封装性、继承性、多态性、(抽象性)其它关键字:this、super、static、final、abstract、interface、package、import等“大处着眼,…...

    2024/4/16 21:48:55
  16. springboot Mysql启动报错

    java.sql.SQLException: Unable to load authentication plugin caching_sha2_password.1.报错截图如下java.sql.SQLException: Unable to load authentication plugin caching_sha2_password.at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868)at com.mysql.j…...

    2024/4/24 6:54:09
  17. 还在苦恼验证码怎么实现?看看这个验证码组件合集,你想要的都有

    随着安全性的要求越来越高,如今的验证码已经不再是简单的四个数字或者字母了,更复杂的图形验证码和行为验证码已经成为了更流行的趋势,但更难的实现也让很多开发者头秃,Gitee 已经替你们想到了这一点。 不多说了,下面这几个验证码组件你一定用得到。 1.SliderCaptcha 用户…...

    2024/4/24 6:54:06
  18. react+typescript+ant-design-pro学习

    interface LeftTreeProps {// [index:number]:object;test:string}React.FC<LeftTreeProps> = (props) => {}React.FC是一个泛型,LeftTreeProps传入你定义的接口类型,props是引用组件时传入的值:例如:<LeftTree test={3434}/>...

    2024/4/24 6:54:04
  19. python基础数据类型(三)

    Hi,小伙伴们大家好!今天我们来了解一下python语言的另外两种数据类型,Set集合与Dict字典。 首先我们先来讲解下字典,字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中 …...

    2024/4/24 6:54:02
  20. python-OCR识别静态图片验证码

    import pytesseract import cv2 from PIL import Image from selenium import webdriver# 条件:登录地址,验证码位置xpath,ocr本地位置 url = "http://172.16.122.15:15001/#/login?forward=%2F" xpath_addr=//*[@id="app"]/div/div[2]/form/div[3]/div…...

    2024/4/24 6:54:04

最新文章

  1. 手搓数组栈(C语言)

    stack.h #pragma once#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <stdbool.h> // 支持动态增长的栈 typedef int STDataType; typedef struct Stack {STDataType* a;int top; // 栈顶int capacity; // 容量 }Stack; //…...

    2024/4/30 17:09:05
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. axios拦截器:每次请求自动带上 token

    Step 1&#xff1a;创建Axios实例并添加拦截器 在你的Vue项目中&#xff0c;一般我们会先导入axios&#xff0c;然后创建一个axios实例。这样做是为了方便统一管理和配置。 import axios from axios; // 引入axios// 创建一个axios实例 const service axios.create();// 添加请…...

    2024/4/29 11:15:19
  4. xv6项目开源—05

    xv6项目开源—05.md 理论&#xff1a; 1、设备驱动程序在两种环境中执行代码&#xff1a;上半部分在进程的内核线程中运行&#xff0c;下半部分在中断时执行。上半部分通过系统调用进行调用&#xff0c;如希望设备执行I/O操作的read和write。这段代码可能会要求硬件执行操作&…...

    2024/4/30 7:09:10
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/29 6:03:24
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/29 14:21:50
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57