自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ネロ・クラウディウス

ウム!一人一晚一奇迹,尸体竟是我自己

  • 博客(332)
  • 资源 (1)
  • 收藏
  • 关注

原创 VS2019 C#代码提示改中文

语言包下载地址:https://dotnet.microsoft.com/en-us/download/intellisense下载完成打开压缩包:第一个文件夹进去,找到zh-hans打开对应目录:C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1(VS2019安装时默认地址)粘贴进去重启VS...

2022-02-05 16:37:19 1456

原创 飞行棋游戏代码(C#)

220224飞行器v1.0using System;namespace AeroplaneChess{ class Program { //地图 static int[] Maps = new int[100]; //玩家A B坐标 static int[] playerPos = new int[2]; //玩家姓名 static string[] playerNames = new s

2022-02-04 17:54:30 2954

原创 设计模式07 之Bridge

设计模式07 之Bridge1. “单一职责” 模式:.在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。典型模式Decorator(装饰模式)Bridge(桥模式)2. Bridge 桥模式1. 动机(Motivation)由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个纬度的变化。如何应对这种“多维度的变化”?如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方

2021-05-04 10:27:21 467

原创 设计模式06 之Decorator

设计模式06 之Decorator1. “单一职责” 模式:.在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。典型模式Decorator(装饰模式)Bridge(桥模式)2. Decorator 装饰模式1. 动机(Motivation)在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩 展功能的增多)

2021-05-03 19:32:06 206 1

原创 设计模式05 之Observer Event

设计模式04 之Strategy1. “组件协作” 模式:现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。典型模式Template Method(模板方法)Observer(观察者模式) / Event(事件模式)Strategy(策略模式)2. Observer 观察者模式1. 动机(Motivation)在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个

2021-05-03 17:45:46 128 1

原创 设计模式04 之Strategy

设计模式04 之Strategy1. “组件协作” 模式:现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。典型模式Template Method(模板方法)Observer / Event(事件模式)Strategy(策略模式)2. Strategy 策略模式1. 动机(Motivation)在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对

2021-05-03 16:53:19 79

原创 设计模式03 之Template Method

设计模式03 之Template Method1.前言1. GOF-23模式分类从目的来看∶创建型(Creational )模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。.结构型(Structural)模式:通过类继承或者对象组合获得更灵活的结构,从而应对需求变化为对象的结构带来的冲击。行为型( Behavioral )模式︰通过类继承或者对象组合来划分类与对象间的职责,从而应对需求变化为多个交互的对象带来的冲击。从范围来看︰

2021-05-03 14:06:51 104 1

原创 设计模式02 之面向对象的设计原则

设计模式02 之面向对象的设计原则1. 为什么要面向对象设计?变化是复用的最大天敌!面向对象设计最大的优势在于:抵御变化!2. 重新认识面向对象理解隔离变化:从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化带来的影响减为最小各司其职:从微观层面来看,面向对象的方式更强调各个类的“责任”由于需求变化导致的新增类型不应该影响原来类型的实现对象是什么?从语言层面来看,对象是封装了代码和数据从规格层面来看,对象是一系列可被使用的公共接口从概念层面来看,对象是某种拥有责

2021-05-03 10:49:34 100

原创 设计模式01 之初认设计模式

设计模式day01 之初认设计模式1. 学习目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式、2. 什么是设计模式每一个模式描述了一个我们周围不断重复发生的问题,以及该问题的解决方案的核心。 这样,你就能一次又一次地使用该方案而不必重复劳动。3. GOF 设计模式历史性著作《设计模式:可复用面向对象软件的基础》 --书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位由于《设计模式》一书确定了设计模式的地位,通常说的设计模式隐

2021-05-03 10:34:45 94

原创 C++中 ‘\n‘ 与 endl的区别

C++中显示引号包含的字符串时,通常使用\n换行,而在其他情况下则使用控制符 endl。对于大多数人来说输入endl更加方便cout << "xiao xiao xiao \n";int a = 10;cout << a << endl;区别:endl确保程序继续运行前,刷新并输出(将其立即显示在屏幕上)’\n‘ 不能提供这样的保证,这意味着在某些系统中,有时候在输入信息后才会显示。总结:且在C++中使用 endl 代替 ‘\n’ 一般是个好

2021-04-07 21:45:24 246

原创 using 与名字空间的意义

命名空间的意义:避免变量或函数重命名的问题 ,例如:大型项目开发过程中 全局变量或函数重名,但如果每个人都有自己的名字空间便可以解决问题。C++中std空间using namespace std;意义:这个using编译指令使得std命名空间中的所有名称都可以使用。但是一次性导入全部,破坏了原本存在的意义如此书写方便小学习过程使用但是,如此在大型项目中会存在潜在的问题,更好的做法是,只使用名称可用,这可以通过using声明来实现。using std::cout;using std::

2021-04-07 21:44:15 108

原创 基于TCP/IP的回声服务器 (Linux环境)

注意:需要联网需要修改IP地址为自己的IP地址。ifconfig查看自己的IP地址服务器端#include <stdio.h>#include <string.h>#include <unistd.h>#include <pthread.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include &l

2021-03-10 08:56:50 141

原创 NC112 进制转换

class Solution {public: /** * 进制转换 * @param M int整型 给定整数 * @param N int整型 转换到的进制 * @return string字符串 */ string solve(int M, int N) { // write code here string ret; // 建立一个表,最后进行字符访问直接输出 string s

2021-03-07 17:15:52 127

原创 NC65 斐波那契数列

class Solution {public: int Fibonacci(int n) { int a=1; int b=1; int sum =0; if(n == 1 || n == 2) { return 1; } for(int i = 0; i < n-2; i++) { su

2021-03-07 16:54:00 117

原创 NC4 判断链表中是否有环(map容器解法)

class Solution {public: bool hasCycle(ListNode *head) { map<ListNode*, int> mp; while(head != NULL) { if(0 == mp[head]) { mp[head] = 1; } else

2021-03-07 16:52:21 106

原创 Qt中文乱码问题解决方案

注意:Qt的4.8版默认的不是utf-8,所以可能会出现中文乱码。1. 导入字符编码头文件 QTextCodec2. 在main函数中 // 创建一个字符编码对象 QTextCodec* codec = QTextCodec::codecForName("utf-8"); // 告诉Qt当前系统所使用的字符编码 QTextCodec::setCodecForCStrings(codec); // 告诉Qt

2021-03-04 10:50:44 259 1

原创 C++机房预约管理系统.cpp

C++实战项目机房预约管理系统文章目录C++实战项目机房预约管理系统.h文件computerRoom.hglobalFile.hIdentity.hmanager.horderFile.hstudent.hteacher.h.cpp文件manager.cpporderFile.cppstudent.cppteacher.cppmain.cpp系统简介:学校现有几个规格不同的机房,由于使用时经常出现“撞车”现象,现在开发一套机房预约系统,解决这一问题身份简介:学生代表:申请使用机房教师:审核

2021-03-02 21:59:43 384

原创 基于STL泛化编程的演讲比赛.cpp

基于STL泛化编程的演讲比赛.cpp比赛规则:学校举办一场演讲比赛,共12个人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛每名选手都有对应得编号,如 10001 ~ 10012比赛方式:分组比赛,每组6个人第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲十个评委分别给每名选手打分,去除最高和最低分,求平均分为本轮选手的成绩当小组演讲完后,淘汰组内排名最后三个选手,前三名晋级,进入下一轮比赛第二轮为决赛,前三名胜出每轮比赛后需要显示晋级选手的信息程序功能:开始演讲比赛:完

2021-02-25 22:54:13 121

原创 STL - 常用算法

STL - 常用算法概述:算法主要头文件algorihtm functional numeric 组成algorithm是所有STL头文件中最大的一个,范围涉及比较,交换,查找,遍历操作,复制,修改等等numeric 体积很小,只包含几个在序列上面进行简单数学运算的模板函数functional 定义了一些模板类,以声明函数对象文章目录STL - 常用算法1. 常用遍历算法1. for_each2. transform2. 常用查找算法1. find2. find_if3. adjacent_

2021-02-23 23:35:41 176

原创 STL - 函数对象(仿函数)

STL - 函数对象(仿函数)文章目录STL - 函数对象(仿函数)1. 函数对象1. 函数对象概念2. 函数对象使用2. 谓词1. 谓词概念2. 一元谓词3. 二元谓词3. 内建函数对象1. 内建函数对象意义2. 算术仿函数3. 关系仿函数4. 逻辑仿函数1. 函数对象1. 函数对象概念概念:重载函数调用重载符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数2. 函数对象使用特点:函数对象在使用时,可以

2021-02-23 19:48:45 70

原创 容器(vector与multimap)案例 - 员工分组

容器(vector与multimap)案例 - 员工分组案例描述:公司招聘了10个员工(ABCEDEFGJHIJ),员工进入公司后,需要指派员工在哪个部门工作员工信息有:姓名 工资;部门分为: 策划,美术,研发随机给10名员工分配部门和工资通过multimap进行信息插入 key(部门编号)value(员工)分部门显示员工信息实现步骤:创建10名员工,放到vector中遍历vector容器,取出每个员工,进行随机分组分组后,将员工部门号作为key,具体工作为value,放到mult

2021-02-23 17:27:27 189

原创 STL常用容器之 map multimap

STL常用容器之 map multimap文章目录STL常用容器之 map multimap1. map multimap容器1. map 基本概念2. map 构造和赋值3. map 大小和交换4. map 插入和删除5. map 查找和统计6. map 容器排序1. map multimap容器1. map 基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质:map/m

2021-02-23 15:49:02 78

原创 STL常用容器之 set multiset

STL常用容器之 set multiset1. set multiset容器1. set基本概念所有元素插入时,自动排序本质:set/multiset属于关联式容器,底层结构是二叉树实现。set和multiset区别:set中不允许有重复的元素multiset允许容器中有重复的元素2. set构造和赋值函数原型:构造:set<T> st;//默认构造set(const set& st);//拷贝构造赋值:str& operator=(cons

2021-02-23 15:10:03 100 1

原创 STL常用容器之 list

STL常用容器之 list文章目录STL常用容器之 list1. list容器1. list容器的基本概念2. list 构造函数3. list 赋值和交换4. list 大小操作5. list 插入和删除6. list 数据存取7. list 反转和排序8. 排序案例1. list容器1. list容器的基本概念功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续存储结构,数据元素的逻辑顺序是通过链表中的指针连接进行实现的链表的组成:链表由一堆结点组成节点的组成:数据域与指针域

2021-02-23 12:34:33 115

原创 List容器练习 排序案例

要求:将Person自定义数据类型进行排序,Person中有姓名,年龄,身高排序规则:年龄升序,如果年龄相同在按照身高进行降序。源码:#include <iostream>#include <list>#include <algorithm> using namespace std;class Person{public: Person(string name,int age,int height):m_Name(name),m_Age(age),m

2021-02-23 12:32:56 193

原创 STL常用容器之 stack,queue

STL常用容器之 stack,queue文章目录STL常用容器之 stack,queue1. stack容器1. stack基本概念2. stack常用接口2. queue容器1. queue基本概念2. queue常用接口1. stack容器1. stack基本概念概念:stack是一种先进后出(First In Last Out ,FILO)的数据结构,只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据被称为: 入栈push栈中弹出数据被称为:出栈pop

2021-02-23 11:43:15 81

原创 容器(vector与deque)案例 - 评委打分

容器(vector与deque)案例 - 评委打分案例描述:有五名选手:选手ABCDE,10个评委分别对每一位选手打分,去除最高分,去除最低分。实现步骤:创建5名选手,放到vector中遍历vector容器,取出每一个选手,执行for循环,可以把10个评分打分存到deque容器中sort算法对deque容器中分数排序,去除最高最低分deque容器遍历一遍,累加总分获取平均分源码示例:#include <iostream>#include <vector>#

2021-02-22 21:12:16 274

原创 STL常用容器 之deque

文章目录STL常用容器 之deque1. deque容器1. deque容器基本概念2. deque构造函数3. deque赋值函数4. deque大小操作5. deque插入和删除6. deque数据存取7. deque 排序STL常用容器 之deque1. deque容器1. deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头插入与删除效率低,数据量越大,效率越低deque相对而言,头插入与删除会比vector块vector

2021-02-22 20:07:06 75

原创 STL常用容器 之vector

STL常用容器 之vector文章目录STL常用容器 之vector1. vector容器1. vector基本概念2. vector构造函数3. vector赋值函数4. vector容量与大小5. vector插入和删除6. vector数据存取7. vector互换容器8. vector预留空间1. vector容器1. vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组区别:数组是静态空间,而vector是动态扩展动态扩展:并不是原空间之后接续新空间,而是找更大

2021-02-22 17:49:36 59

原创 STL常用容器之 string

STL常用容器之 string文章目录STL常用容器之 string1. string容器1. string的基本概念2. string构造函数3. string赋值操作4. string字符串拼接5. string查找和替换6. string字符串比较7. string字符存取8. string插入和删除9. string子串1. string容器1. string的基本概念本质:string是C++风格的字符串,而string本质上是一个类string 和char 区别*:char* 是一

2021-02-22 16:24:49 220

原创 C++ STL简单介绍

文章目录STL简单介绍1. STL的诞生2. STL基本概念3. STL六大组件4. STL中容器 算法 迭代器容器算法迭代器5. 容器算法迭代器初识1. vector存放内置数据类型2. Vector存放自定义数据类型3. Vector容器嵌套容器STL简单介绍1. STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多数情况下,数据结构和算法都未能有一套标志,导致被迫大量重复工作为了建立数据结构和算法的一套标准,诞生了STL

2021-02-22 12:01:58 109 1

原创 C++ 模板(函数模板与类模板)

C++ 模板文章目录C++ 模板1. 模板的概念2. 函数模板1. 函数模板语法2. 函数模板的注意事项3. 函数模板案例4. 普通函数与函数模板的区别5. 普通函数与模板函数的调用规则6. 模板的局限性3. 类模板1. 类模板语法2. 类模板与函数模板区别3. 类模板中成员函数创建时机4. 类模板对象做函数参数5. 类模板与继承6. 类模板成员函数类外实现7. 类模板分文件编写8. 类模板与友元9. 类模板案例1. 模板的概念模板就是建立通用模具,大大提高复用性。例如:PPT模板C++中模板:

2021-02-21 19:26:41 357

原创 C++ 类模板案例 (实现一个通用的数组类)

案例描述:实现一个通用的数组类,要求如下:可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组容量提供对应的拷贝构造函数以及operator=防止浅拷贝问题提供尾插法和尾删法堆数组中数据进行添加和删除可以通过下标方式访问数组中元素可以获取数组中当前元素个数和数组的容量.hpp文件#include <iostream>#include <string>using namespace std;template&lt

2021-02-21 19:21:47 421

原创 C++ 模板案例:数组排序

案例描述:利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序排序规则从大到小,排序算法为选择排序分别利用char数组和int数组进行测试源码:#include <iostream>using namespace std;//交换模板template<class T>void mySwap(T &a, T &b){ T temp = a; a = b; b = temp; } //打印数组的模板template<c

2021-02-20 23:42:41 243

原创 职工管理系统.cpp(700行+)

职工管理系统.cpp需求:职工管理系统可以用来管理公司内所有员工的信息本次主要利用C++来实现一个基于多态的职工管理系统公司中职工分为三类:普通员工,经理,老板,需要显示职工编号,职工姓名,职工岗位,以及职责。普通员工职责:完成经理交给的任务经理职责:完成老板交给的任务,并下发任务给员工老板职责:管理公司所有事务管理系统中需要实现的功能如下:退出管理程序:退出当前管理系统增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号,姓名,部门编号显示职工信息:显示全部

2021-02-20 21:14:34 180 1

原创 C++ 文件读写 相关知识点

文章目录文件操作1. 文本文件1. 写文件打开方式2. 读文件4种读取方式2. 二进制文件1. 写文件2. 读文件3. 二进制读写案例文件操作程序运行时产生得数据都属于临时数据,程序一旦运行结束都会被释放而通过文件可以将数据持久化C++中对文件操作需要包含头文件<fstream>文件类型分为两种:文本文件 :文件以文本得ASII码形式存储在计算机中二进制文件:文件以二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件得三大类:ofstream:写操作ifstrea

2021-02-20 10:43:31 145

原创 C++(重点) 类与对象(15320字附带源码图片)

文章目录C++ 类和对象1. 封装1. 封装的意义封装的意义一:封装的意义二: (三种权限)2. struct 和 class区别3. 成员属性设置为私有2. 对象的初始化和清理1. 构造函数和析构函数2. 构造函数的分类及调用3. 拷贝构造调用规则4. 构造函数调用规则5. 深拷贝与浅拷贝6. 初始化列表7. 类对象作为类成员8. 静态成员3. C++对象模型和this指针1. 成员变量和成员函数分开储存2. this指针概念3. 空指针访问成员函数4. const修饰成员函数4. 友元1. 全局函数做友

2021-02-20 00:03:14 291 2

原创 C++多态案例三.电脑组装

案例描述:电脑主要组成部件为CPU(用于计算),显卡(用于显示),内存条(用于存储)将每个零件封装出抽象基类,并且提供不同的厂商生成不同的零件,例如intel厂商和Lenovo厂商创建电脑类提供让电脑工作的函数,并且调用每个零件的工作接口测试时组装三台不同电脑进行工作例:#include <iostream>#include <string> using namespace std;//CPU class CPU{public: virtual void

2021-02-19 23:53:05 204 1

原创 C++多态案例二.制作饮品(感受多态的魅力)

案例描述:制作饮品大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入佐料利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶#include <iostream>#include <string> using namespace std;class AbstractDrinking {public: //煮水 virtual void Boil() = 0; //冲泡 virtual void Brew() = 0; //导入杯中

2021-02-19 22:40:50 516

原创 C++多态案例一.计算机器类(普通写法和多态技术两种写法的对比)

案例描述:分别利用普通写法和多态技术,实现两个操作数进行运算的计数器类多态优点:代码组织结构清晰可读性强利于前期和后期的扩展以及维护总结:C++开发提倡利用多态设计程序架构,因为多态优点很多例:#include <iostream>#include <string> using namespace std;//普通实现class Calculator{public: int getResult(string oper) { if(oper =

2021-02-19 20:16:55 130 1

PuTTY 软件 比xshell小使用方便

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多第三方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlo

2021-02-06

空空如也

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

TA关注的人

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