cpp: Prototype Pattern

2023-11-11

// Gold.h : 此文件包含 "Gold" 类。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit.
 
 
 
#pragma once
#ifndef GOLD_H
#define GOLD_H
 
 
 
#include <iostream>
 
 
using namespace std;
 
 
 
 
namespace DuJewelryPrototypePattern
{
 
    /// <summary>
    /// 黄金
    /// </summary>
    class Gold
    {
 
    public:
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="life"></param>
        /// <param name="magic"></param>
        /// <param name="attack"></param>
        Gold(int technology, int business, int talents) :Gtechnology(technology), Gbusiness(business), Gtalents(talents) {}
 
        /// <summary>
        /// 做父类时析构函数应该为虚函数
        /// </summary>
        virtual ~Gold() {}
 
    public:
        //virtual Monster* creatGold() = 0; //具体的实现在子类中进行
 
        /// <summary>
        /// 具体的实现在子类中进行
        /// </summary>
        /// <returns></returns>
        virtual Gold* clone() = 0;
 
    protected: //可能被子类访问的成员,用protected修饰
        //属性
 
        /// <summary>
        /// 技术
        /// </summary>
        int Gtechnology;  
 
        /// <summary>
        /// 业务
        /// </summary>
        int Gbusiness;
        /// <summary>
        /// 人才
        /// </summary>
        int Gtalents;
 
 
    };
}
 
#endif
 
 
// GoldCorporation.h : 此文件包含 "GoldCorporation" 类。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit.
 
 
 
#pragma once
#ifndef GOLDCORPORATION_H
#define GOLDCORPORATION_H
 
 
 
#include <iostream>
#include "Gold.h"
 
using namespace std;
 
 
 
 
namespace DuJewelryPrototypePattern
{
 
    /// <summary>
    /// 黄金公司
    /// </summary>
    class GoldCorporation:public Gold
    {
    public:
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="technology"></param>
        /// <param name="business"></param>
        /// <param name="talents"></param>
        GoldCorporation(int technology, int business, int talents) :Gold(technology, business, talents)
        {
            cout << "创建了一个黄金公司" << endl;
        }
 
    public:
        /// <summary>
        /// 拷贝构造函数
        /// </summary>
        /// <param name="tmpobj"></param>
        GoldCorporation(const GoldCorporation& tmpobj) :Gold(tmpobj)
        {
            cout << "调用了GoldCorporation::GoldCorporation(const GoldCorporation& tmpobj)拷贝构造函数创建了一个黄金公司" << endl;
        }
        /// <summary>
        /// 拷贝构造函数
        /// </summary>
        /// <returns></returns>
        virtual Gold* clone()
        {
            //return new GoldCorporation(800, 950, 880); //创建黄金公司
            return new GoldCorporation(*this); //触发拷贝构造函数的调用来创建了一个黄金公司
        }
        //其他代码略....
 
 
 
    };
 
}
 
#endif
 
// GoldCommerce.h : 此文件包含 "GoldCommerce" 类。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit.
 
 
 
#pragma once
#ifndef GOLDCOMMERCE_H
#define GOLDCOMMERCE_H
 
 
 
#include <iostream>
#include "Gold.h"
 
using namespace std;
 
 
 
 
namespace DuJewelryPrototypePattern
{
    /// <summary>
    /// 商贸商会
    /// </summary>
    class GoldCommerce :public Gold
    {
    public:
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="technology"></param>
        /// <param name="business"></param>
        /// <param name="talents"></param>
        GoldCommerce(int technology, int business, int talents) :Gold(technology, business, talents)
        {
            cout << "创建了一个商贸商会" << endl;
        }
 
    public:
        /// <summary>
        /// 拷贝构造函数
        /// </summary>
        /// <param name="tmpobj"></param>
        GoldCommerce(const GoldCommerce& tmpobj) :Gold(tmpobj) //初始化列表中注意对父类子对象的初始化
        {
            cout << "调用了GoldCommerce::GoldCommerce(const GoldCommerce& tmpobj)拷贝构造函数创建了一个商贸商会" << endl;
        }
 
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        virtual Gold* clone()
        {
            //return new GoldCommerce(800, 180, 990); //创建商贸商会
            return new GoldCommerce(*this);
        }
        //其他代码略....
 
    };
 
}
 
#endif
 
// GoldShop.h : 此文件包含 "GoldShop" 类。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit.
 
 
 
#pragma once
#ifndef GOLDSHOP_H
#define GOLDSHOP_H
 
 
 
#include <iostream>
#include "Gold.h"
 
using namespace std;
 
 
 
 
namespace DuJewelryPrototypePattern
{
 
    /// <summary>
    /// 连锁店舖
    /// </summary>
    class GoldShop :public Gold
    {
    public:
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="technology"></param>
        /// <param name="business"></param>
        /// <param name="talents"></param>
        GoldShop(int technology, int business, int talents) :Gold(technology, business, talents)
        {
            cout << "创建了一个连锁店舖" << endl;
        }
 
    public:
        /// <summary>
        /// 拷贝构造函数
        /// </summary>
        /// <param name="tmpobj"></param>
        GoldShop(const GoldShop& tmpobj) :Gold(tmpobj)
        {
            cout << "调用了GoldShop::GoldShop(const GoldShop& tmpobj)拷贝构造函数创建了一个连锁店舖" << endl;
        }
 
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        virtual Gold* clone()
        {
            //return new GoldShop(800, 10, 110); //创建连锁店舖
            return new GoldShop(*this);
        }
        //其他代码略....
 
    };
 
}
 
#endif
// GeovinDu.h : 此文件包含 "GeovinDu" 类。。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du edit.
#pragma once
#ifndef GEOVINDU_H
#define GEOVINDU_H
 
using namespace std;
 
namespace DuJewelryPrototypePattern
{
 
 
    class GeovinDu
    {
 
 
    private:
 
    public:
 
        /// <summary>
        ///
        /// </summary>
        void displayGold();
 
 
    };
 
}
 
#endif

// GeovinDu.cpp : 此文件包含 "GeovinDu" 类。。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du edit.
 
 
#include "GeovinDu.h"
#include "Gold.h"
#include "GoldCommerce.h"
#include "GoldCorporation.h"
#include "GoldShop.h"
 
 
namespace DuJewelryPrototypePattern
{
 
    /// <summary>
    /// 全局的用于创建对象的函数
    /// </summary>
    /// <param name="pGold"></param>
    void GlobalCreateGold(Gold* pGold)
    {
        /*
        Gold* ptmpco = nullptr;
        if (dynamic_cast<GoldCommerce*>(pGold) != nullptr)
        {
            ptmpco = new GoldCommerce(300, 50, 80); //创建商贸商会
        }
        else if (dynamic_cast<GoldCorporation*>(pGold) != nullptr)
        {
            ptmpco = new GoldCorporation(200, 80, 100); //创建黄金公司
        }
        else if (dynamic_cast<GoldShop*>(pGold) != nullptr)
        {
            ptmpco = new GoldShop(400, 0, 110); //创建连锁店舖
        }
        if (ptmpco != nullptr)
        {
            //这里可以针对ptmpobj对象实现各种业务逻辑
            //......
            //不要忘记释放资源
            delete ptmpco;
        }
        */
        Gold* ptmpobj = pGold->clone();//根据已有对象直接创建新对象,不需要知道已有对象所属的类型
        //这里可以针对ptmpobj对象进行实现各种业务逻辑
        //......
        //不要忘记释放资源
        delete ptmpobj;
 
    }
 
    /// <summary>
    ///
    /// </summary>
    void GeovinDu::displayGold()
    {
 
        /**/
        DuJewelryPrototypePattern::GoldShop myPropMecGold(400, 0, 110); //创建连锁店舖对象作为原型对象以用于克隆目的
        DuJewelryPrototypePattern::Gold* pmyPropGoldCommerce = new DuJewelryPrototypePattern::GoldCommerce(200, 80, 100); //创建商贸商会对象作为原型对象以用于克隆目的,这里可以直接new,也可以通过工厂模式创建原型对象,取决于程序员自己的喜好
        //......
        DuJewelryPrototypePattern::Gold* p_CloneObj1 = myPropMecGold.clone(); //使用原型对象克隆出新的连锁店舖对象
        DuJewelryPrototypePattern::Gold* p_CloneObj2 = pmyPropGoldCommerce->clone(); //使用原型对象商贸商会对象
 
        //可以对p_CloneObj1、p_CloneObj2所指向的对象进行各种操作(实现具体业务逻辑)
        //......
 
        //释放资源
        //释放克隆出来的怪物对象
        delete p_CloneObj1;
        delete p_CloneObj2;
 
        //释放原型对象(堆中的)
        delete pmyPropGoldCommerce;
     
 
        DuJewelryPrototypePattern::Gold* pMonsterObj = new DuJewelryPrototypePattern::GoldCommerce(200, 80, 100);
        GlobalCreateGold(pMonsterObj);
        delete pMonsterObj;
 
 
    }
 
 
}

调用:、

// GeovinDu.cpp : 此文件包含 "GeovinDu" 类。。原型模式  Prototype Pattern C++ 14
// 2023年5月1日 涂聚文 Geovin Du edit.
 
 
#include "GeovinDu.h"
#include "Gold.h"
#include "GoldCommerce.h"
#include "GoldCorporation.h"
#include "GoldShop.h"
 
 
namespace DuJewelryPrototypePattern
{
 
    /// <summary>
    /// 全局的用于创建对象的函数
    /// </summary>
    /// <param name="pGold"></param>
    void GlobalCreateGold(Gold* pGold)
    {
        /*
        Gold* ptmpco = nullptr;
        if (dynamic_cast<GoldCommerce*>(pGold) != nullptr)
        {
            ptmpco = new GoldCommerce(300, 50, 80); //创建商贸商会
        }
        else if (dynamic_cast<GoldCorporation*>(pGold) != nullptr)
        {
            ptmpco = new GoldCorporation(200, 80, 100); //创建黄金公司
        }
        else if (dynamic_cast<GoldShop*>(pGold) != nullptr)
        {
            ptmpco = new GoldShop(400, 0, 110); //创建连锁店舖
        }
        if (ptmpco != nullptr)
        {
            //这里可以针对ptmpobj对象实现各种业务逻辑
            //......
            //不要忘记释放资源
            delete ptmpco;
        }
        */
        Gold* ptmpobj = pGold->clone();//根据已有对象直接创建新对象,不需要知道已有对象所属的类型
        //这里可以针对ptmpobj对象进行实现各种业务逻辑
        //......
        //不要忘记释放资源
        delete ptmpobj;
 
    }
 
    /// <summary>
    ///
    /// </summary>
    void GeovinDu::displayGold()
    {
 
        /**/
        DuJewelryPrototypePattern::GoldShop myPropMecGold(400, 0, 110); //创建连锁店舖对象作为原型对象以用于克隆目的
        DuJewelryPrototypePattern::Gold* pmyPropGoldCommerce = new DuJewelryPrototypePattern::GoldCommerce(200, 80, 100); //创建商贸商会对象作为原型对象以用于克隆目的,这里可以直接new,也可以通过工厂模式创建原型对象,取决于程序员自己的喜好
        //......
        DuJewelryPrototypePattern::Gold* p_CloneObj1 = myPropMecGold.clone(); //使用原型对象克隆出新的连锁店舖对象
        DuJewelryPrototypePattern::Gold* p_CloneObj2 = pmyPropGoldCommerce->clone(); //使用原型对象商贸商会对象
 
        //可以对p_CloneObj1、p_CloneObj2所指向的对象进行各种操作(实现具体业务逻辑)
        //......
 
        //释放资源
        //释放克隆出来的怪物对象
        delete p_CloneObj1;
        delete p_CloneObj2;
 
        //释放原型对象(堆中的)
        delete pmyPropGoldCommerce;
     
 
        DuJewelryPrototypePattern::Gold* pMonsterObj = new DuJewelryPrototypePattern::GoldCommerce(200, 80, 100);
        GlobalCreateGold(pMonsterObj);
        delete pMonsterObj;
 
 
    }
 
 
}

输出
 

Hello World!!Programa Olá Mundo!涂聚文 Geovin Du
创建了一个连锁店舖
创建了一个商贸商会
调用了GoldShop::GoldShop(const GoldShop& tmpobj)拷贝构造函数创建了一个连锁店舖
调用了GoldCommerce::GoldCommerce(const GoldCommerce& tmpobj)拷贝构造函数创建了一个商贸商会
创建了一个商贸商会
调用了GoldCommerce::GoldCommerce(const GoldCommerce& tmpobj)拷贝构造函数创建了一个商贸商会
请按任意键继续. . .

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cpp: Prototype Pattern 的相关文章

  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 未找到 DEADLINE 调度策略

    我想在 C 中实现 DEADLINE 调度策略 我知道该功能已实现Linux 3 14 10我正在使用 Ubuntu 14 04Linux 3 17 0 031700 lowlatency 201410060605 SMP PREEMPT这
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 使用 POST 的 HttpWebRequest 的性能

    我有一个用于测试网络服务的小工具 它可以使用 POST 或 GET 调用 Web 服务 使用POST的代码是 public void PerformRequest WebRequest webRequest WebRequest Creat
  • 如何使用T4从一个模板同时生成两个文件?

    我遇到的情况是 我需要生成两个 CSharp 代码文件 它们的代码几乎相同 但方法的输入和输出类型的命名空间不同 事实上 每个文件都针对特定国家 地区 并且类型来自特定国家 地区的 WSDL 我正在围绕服务编写一些包装器 逻辑完全相同 但从
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Visual Studio 2013 调试器显示 std::string 的奇怪值

    我有一个大型的 cmake 生成的解决方案 其中包含许多项目 由于某种原因 我无法查看字符串的内容 因为根据调试器 Bx Buf含有一些垃圾 text c str 正确返回 Hello 该问题不仅仅发生在本地字符串上 返回的函数std st
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • ASP.NET - Crystal Report Viewer 打印按钮在 ASP.NET 中不起作用

    我正在使用 Visual Studio 2008 但我遇到了水晶报告问题 当我单击打印按钮时 它会将我带到弹出窗口 但未找到页面 弹出的网址是 http localhost aspnet client System Web 2 0 5072
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 运行实体框架自定义工具,它有什么作用?

    在 Visual Studio 中 当使用实体框架并为 tt 和 Context tt 文件应用运行自定义工具时 它是什么以及它有什么作用 为什么它解决数据库同步问题 有时 为什么我应该在运行 tt 之前运行它 Context tt 它被称
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w
  • NHibernate:无状态会话错误消息无法获取代理

    我正在使用 nHibernate 无状态会话来获取对象 更新一个属性并将对象保存回数据库 我不断收到错误消息 无状态会话无法获取代理 我在其他地方有类似的代码 所以我不明白为什么这不起作用 有谁知道问题可能是什么 我正在尝试更新Screen
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • [开发工具使用基础-vs2013] 增加外部文件到项目工程

    此文适合于在vs2013中入门C 编程的人员借鉴 主要功能是添加外部文件 比如你网上下载的 cpp文件和 h头文件 到本项目工程 过程演示 1 新建一个C 空项目NewProgram 项目名自取 对于你的话就是你自己的项目了 完成后解决方案
  • Unity资源管理——使用UnityWebRequest从云端下载Assetbundle包

    1 环境 基于Unity2018 2 2 思路 1 使用UnityWebRequest Get方法去获取AB包 2 在协程中返回UnityWebRequest实例对象的SendWebRequest方法返回值 3 当UnityWebReque
  • wpf 保存图片到任意格式jpg,png,bmp

    private void ExportBtn Click object sender RoutedEventArgs e SaveFileDialog saveFileDialog new SaveFileDialog saveFileDi
  • nodejs中文教程-windows下nodejs开发环境的安装与配置

    么是Node js 还服务器端javascript 对于这个概念我在这篇文章不做解释 可以自己去搜索了解下 服务器端js不是新技术 只是最近的node js的火爆让他爆发了 我会在以后的文章里解释什么是node js 这里只是纯粹的搭建 连
  • HarmoneyOS鸿蒙系统零代码编程入门

    文章目录 前言 学习资源网址 工具以及基本环境准备 搭建HarmonyOS项目 申请成为华为开发者 实现 您好 世界 入门程序 前言 2021年6月3日 华为终于推出了HarmoneyOS 即鸿蒙操作系统公测 着实振奋人心 分布式操作系统
  • Linux学习篇 1.Linux的磁盘规划

    历时1个月的学习 对Linux终于小有了解 初步可以做些操作了 同时对Linux有了更深的理解 以前没接触的时候觉得高不可攀 经过一段时间的学习才发现 原来也没想象中的那么难 哈哈 独乐乐不如群乐乐 下面是我以做笔记的方式写的文章 有些生硬
  • 用py写一个时间盲注的脚本(初学向)

    用py写一个时间盲注的脚本 1 首先我们要清楚时间盲注的特点是利用了sql中sleep这个函数 借助的是响应时间不同来判断构造语句的对错 那么我们主要思路就要通过记录响应时间来执行一系列操作 下面是我写的一个简单脚本 2 import re
  • 告诉你如何应对HR索要薪资证明!

    有些企业的HR会要求求职者提供薪资证明 尤其是对于 骑驴找马 的求职者 HR不便于进行背景调查 更倾向于让求职者提供薪资证明 面对这种情况 根据前程无忧论坛的调查数据显示 有26 的受访者愿意提供薪资证明 其余的受访者要么拒绝提供 要么直接
  • 基于SpringBoot开发的停车位管理系统(调用百度地图api)

    文章目录 项目介绍 主要功能截图 前台 后台 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于SpringB
  • spring security免登录动态配置方案2

    序 之前有篇文章讲了怎么进行免登录动态配置的方案 动用了反射去实现 有点黑魔法的味道 这里再介绍另外一种方案 permitAll spring security config 4 2 3 RELEASE sources jar org sp
  • 巴菲特致股东的一封信:2011年

    原文请参考 http www berkshirehathaway com letters 2014ltr pdf 学习心得 全文如下 致伯克希尔哈萨维的股东 2011年我们的A股和B股每股账面价值增长了4 6 在过去47年 即现任管理层就职
  • C语言指针

    1 指针的概念 C程序中变量的值都是存储在计算机内存特定的储存单元中的 内存中的每个单元都有唯一的的地址 就像街区中的房子都有唯一的地址 宾馆中的房间都有唯一的编号一样 那么如何获取这个地址呢 这就要用到取地址运算符 即 计算机把整个内存条
  • Unity的C#编程教程_39_循环语句挑战:计数程序

    设计一个累计程序 每3秒钟计数 1 达到一个随机生成的上限时 累计停止 方法一 using System Collections using System Collections Generic using UnityEngine publ
  • 基于STM32的0.96寸OLED屏滚动显示长字符

    文章目录 一 OLED屏的滚屏命令 1 1 禁用滚动 2Eh 1 2 启用滚动 2Fh 1 3 设置水平左右滚动 1 4 设置垂直和水平滚动 二 使用OLED屏滚动显示长字符 1 对显示文字进行取模 2 main函数 3 显示长字符函数 4
  • Vue3头像(Avatar)

    效果如下图 在线预览 APIs 参数 说明 类型 默认值 必传 shape 指定头像的形状 circle square circle false size 设置头像的大小 number large small default Respons
  • 在Django4.03中使用自带的Admin管理后台创建部门表和员工表

    这两天 想帮公司搞个简单的员工管理系统 折腾了两天 查了很多方法 也走了很多弯路 本身自己学艺不精 不过还好 也折腾出来了 现在发表一下 自己的源码和遇到的坑 希望能帮助大家 一 先放源码 djangoProject3 settings p
  • 安卓抓包神器黄鸟HttpCanary安装配置及使用教程

    1 下载安装包 黄鸟抓包下载地址 2 安装下载的apk 3 证书安装问题 vivo手机我安装时打开黄鸟app 会直接弹出 直接安装即可 其他手机 需要去系统设置中安装 3 1 搜索 证书 选择CA证书 3 2 进行本人操作验证 3 3 安装
  • 常见指令及权限理解

    VMware 用来安装虚拟机的软件 在电脑上虚拟出一套计算机硬件环境 CentOS 操作系统 虚拟机 Linux 操作系统内核 Xshell 远程操作软件 可以远程操作linux主机 服务器 在XShell和直接在VMware终端写代码是一
  • 链塔智库

    目录 一 各地政策要闻 宁夏 推广区块链等技术实现数字化转型 宁波 前瞻性布局区块链等未来产业 重庆 区块链等新一代信息技术产业占全市软件业务收入总额近两成 云南 积极探索区块链等新技术在药品安全事前事中事后监管应用 广西 充分发挥跨境金融
  • cpp: Prototype Pattern

    Gold h 此文件包含 Gold 类 原型模式 Prototype Pattern C 14 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit pragma once ifndef GOLD