自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ywl470812087的博客

欢迎大家加QQ470812087 微信同号技术交流共同学习

  • 博客(582)
  • 收藏
  • 关注

转载 Date和Calendar

此文章来源于廖雪峰博客:https://www.liaoxuefeng.com/wiki/1252599548343744/1303791989162017在计算机中,应该如何表示日期和时间呢?我们经常看到的日期和时间表示方式如下:2019-11-20 0:15:01 GMT+00:00 2019年11月20日8:15:01 11/19/2019 19:15:01 America/New_York如果直接以字符串的形式存储,那么不同的格式,不同的语言会让表示方式非常繁琐。在理解日期和时

2021-01-01 10:34:15 47

原创 计算机网络原理(第三章) 传输层 课后习题

1、实现可靠数据传输的主要措施有哪些?这些措施主要用于解决哪些问题?P98差错检测:利用差错编码实现数据包传输过程中的比特差错检测确认:确认方向发送方反馈接收状态重传:发送方重新发送接收方没有正确接收的数据序号:确保数据按序提交定时器:解决数据丢失问题2、UDP和TCP分别如何实现复用和分解?P97在Internet网络中,唯一标识套接字的基本信息是IP地址和端口号。UDP基于目的IP地址和目的端口号二元组唯一标识一个UDP套接字,从而可以实现精确分解;TCP则需要基于源IP地址、源端口号、目

2020-09-18 21:36:12 94552

原创 计算机网络原理(第二章)课后题答案

第二章1.计算机网络应用可以分为哪几种体系结构的应用类型?各种应用类型的特点是什么?C/S结构:通信旨在客户与服务器之间进行,客户与客户不直接通信纯P2P结构:没有永远在线的服务器,任意端系统/结点之间可直接通信,高度可伸缩,难于管理混合结构:既有中心服务器存在,又有对等端间的直接通信2.为什么说客户端服务器通信方式是网络应用通信的基本方式?客户是主动发起通信的一方,被动接收通信的是服务器,为了能通信服务器必须先运行起来做好通信准备。3.网络应用通信中,需要那些信息标识一个应用进

2020-09-13 14:48:45 98681

原创 计算机网络原理(第一章)课后题答案

第一章1.什么是计算机网络?计算机网络是互联、自治的计算机集合自治:计算机系统彼此独立,不存在主从或控制与被控制的关系互联:利用通信线路链接,连接相互独立的计算机系统2.网络协议的三要素是什么?每个要素的含义是什么?语法:定义实体之间交换信息的格式与结构语义:定义实体时间交换信息的信息发送那些控制信息,信息的具体含义,针对不同含义的控制信息,接收信息端如何响应时序:定义实体之间交换信息的顺序,以及如何匹配或适应彼此的速度,也称为同步。3.计算机网络的功能是什么?在不同

2020-09-13 14:45:54 94987

原创 C++ 普通函数和模板函数调用规则

/**调用规则如下:1.如果函数模板和普通函数都可以实现,优先调用普通函数2.可以通过空模板参数列表来强制调用函数模板3.函数模板也可以发生重载4.如果函数模板可以产生更好的匹配, 优先调用函数模板*/#include<iostream>;using namespace std;/**调用规则如下:1.如果函数模板和普通函数都可以实现,优先调用普通函数2.可以通过空模板参数列表来强制调用函数模板3.函数模板也可以发生重载4.如果函数模板可以产生更好的匹配, .

2020-07-29 22:30:45 110851

原创 C++ 使用模板需要注意的事情

#include<iostream>using namespace std;#include<string>#include<fstream>//函数模板注意事项template<class T> //typename 可以替换成classvoid mySwap(T&a, T&b){ T temp = a; a = b; b = temp; }//1、自动类型推导,必须推导出- -致的数据类型T才可以使用vo.

2020-07-29 21:40:05 117561

原创 C++ 使用模板Template

使用模板之前:#include<iostream>using namespace std;#include<string>#include<fstream>//两个整型交换函数void swapInt(int &a, int &b) { int temp = a; a = b; b = temp;}//交换两个浮点型函数void swapDouble(double &a,double &b) { doub

2020-07-29 21:02:43 111414

原创 C++ 二进制文件读操作

读二进制文件二进制方式读文件主要利用流对象调用成员函数read函数原型:[ istream& read(char *buffer,int len);参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数示例:#include <fstream>#include <string>#include<iostream>using namespace std;class Person{public: char m_Name[

2020-07-28 22:26:53 107410

原创 C++ 二进制文件写操作

#include<iostream>using namespace std;#include<fstream>class Person {public: char m_Name[64]; //姓名 int m_Age; //年龄};void test01(){ //1、包含头文件 //2.创建流对象 ofstream ofs("person.txt",ios::out | ios::binary); //3、打开文件 //ofs.open("pe.

2020-07-28 22:16:42 114282

原创 C++ 读取文件操作

#include <fstream>#include<iostream>using namespace std;//文本文件读文件void test01() { //1、包含头文件 //2、创建流对象 ifstream ifs; //3、打开文件并且判断是否打开成功 ifs.open("test.txt",ios::in) ; if (!ifs.is_open()) { cout << "文件打开失败" << endl; }.

2020-07-28 21:46:53 105829

原创 C++ 文件写操作

#include <fstream>#include<iostream>using namespace std;void test01(){ ofstream ofs; ofs.open("test.txt",ios :: out); ofs << "姓名:张三"<< endl; ofs << "性别:男"<< endl; ofs << "年龄: 18" << endl; o.

2020-07-28 21:28:07 124708

原创 第四章类和对象 习题答案

一.选择题1.能提供封装的C++的下列关键字是(C)A.whileB. unionC. classD. for2.在下面所列项中,不是面向对象的特点的是(C)A. 多面性B. 抽象性和封装性C. 多线程和多任务D. 继承性3.下面选项中,对A类的构函数的正确定义是(A)A. A::~A( )B. void ~A::A(参数)C.~A::A(参数)D. void ~A::A( )4.下面有关构造函数的不正确说法是(B)A. 构造函数可以用来.

2020-07-25 13:56:56 120257

原创 C++ 运算符重载

4.5运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另- -种功能, 以适应不同的数据类型4.5.1加号运算符重载作用:实现两个自定义数据类型相加的运算#include<iostream>#include<string>using namespace std;//加号运算符重载class Person{ public: int m_A; int m_B;};void test01(){ Person p1; p1.m_A .

2020-07-25 12:56:21 119150

原创 C++ 友元函数

生活中你的家有客厅(Public),有你的卧室(Private)客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去但是呢,你也可以允许你的好闺蜜好基友进去。在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问, 就需要用到友元的技术友元的目的就是让一个函数或者类访问另-个类中私有成员友元的关键字为friend I友元的三种实现●全局函数做友元●类做友元●成员函数做友元...

2020-07-25 09:22:23 109665

原创 C++ this指针

成员函数没有使用const修饰,this的指向m_A是可以修改的,每个表达式都隐含了一个this指针。#include<iostream>#include<string>using namespace std;//常函数class Person{ public: // this指针的本质 是指针常量 指针的指向是不可以修改的 void showPerson() { this->m_A = 100; // this = NULL; //.

2020-07-25 08:54:38 119807

原创 C++ 静态成员函数

#include <iostream>using namespace std;#include <string>class Person{ public: //静态成员函数特点: //1程序共享一个函数 //2静态成员函数只能访问静态成员变量 static void func(){ cout << "func调用" << endl; m_A = 100; //m. _B = 100; //错误,不可以访问非静态.

2020-07-18 20:25:31 120888

原创 C++ 静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员静态成员分为:●静态成员变量。所有对象共享同一份数据。在编译阶段分配内存。类内声明,类外初始化●静态成员函数I。所有对象共享同一个函数。静态成员函数只能访问静态成员变量#include <iostream>using namespace std;#include <string>class Phone{ public: Phone(string name) { ..

2020-07-18 20:21:53 119876

原创 C++ 类和对象成员特性

//当类中成员是其他类对象时,我们称该成员为对象成员//构造的顺序是:先调用对象成员的构造,再调用本类构造//析构顺序与构造相反#include <iostream>using namespace std;#include <string>class Phone{ public: Phone(string name) { m_PhoneName =name; cout << "Phone构造" << endl;

2020-07-18 19:56:37 117251

原创 C++ 初始化列表

#include <iostream>using namespace std;#include <string>//初始化列表class Person{public: //传统初始化操作 Person(int a, int b, int c) { m_A = a; m_B = b; m_C = c; } int m_A; int m_B; int m_C;};void test01() { Person p(10,20, 30).

2020-07-18 19:16:24 98288

原创 C++ 深拷贝与浅拷贝

#include<iostream>using namespace std;#include<string>class Person { public: Person() { cout << "Person的无参构造函数调用" << endl; }; Person(int age) { m_Age = age; cout << "Person的有参构造函数调用" << endl; }; .

2020-07-18 11:40:54 110555

原创 C++ 拷贝构造函数

#include<iostream>using namespace std;#include<string>class Person { int age;public: Person() { cout << "Person的无参构造函数调用" << endl; }; Person(int a) { age = a; cout << "Person的有参构造函数调用" << endl; }; .

2020-07-11 23:38:48 136746

原创 C++ 对象的初始化和清理

4.2对象的初始化和清理●生活中我们买的电子产品都基本会有出厂设置,在某-天我们不用时候也会删除一些自己信息数据保证安全●C++中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置。4.2.1构造函数和析构函数对象的初始化和清理也是两个非常重要的安全问题一个对象或者变量没有初始状态,对其使用后果是未知同样的使用完一个对象或变量, 没有及时清理,也会造成一定的安全问题C+ +利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动追用,完成对象初始化和清理工作。

2020-07-05 16:49:53 115086

原创 C++ struct和class的区别

2020-07-05 15:22:23 110278

原创 C++ 函数重载碰到默认的参数

#include<iostream>#include<string>using namespace std;//引用作为重载的条件void func(int &a) { //非常量引用 cout << " this is func" << endl;}void func(const int &a) { // 常量引用 const int &a = 10; 合法 cout << "c.

2020-07-05 14:05:19 116384

原创 C++ 函数参数的默认值和占位参数

3.2函数占位参数C++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补该位置语法:返回值类型 函数名(数据类型){}在现阶段函数的占位参数存在意义不大,但是后面的课程中会用到该技术#include< iostream>using namespace std;//占位参数void func(int a,int){ cout <<" this is func”<< end1 ;}#include<iostream>

2020-07-05 13:13:27 150638

原创 C++ 常量引用

#include<iostream>#include<string>using namespace std;int main() { //常量引用 //使用场景:用来修饰形参,防止误操作 //int a = 10; //加上const之后编译器将代码修改int temp = 10; const int & ref = temp; const int & ref = 10;//引用必须引一块合法的内存空间 ref = 20; //加入con.

2020-07-04 19:11:18 135627

原创 C++ 引用本质就是一个指针常量

#include<iostream>#include<string>using namespace std; //发现是引用,转换为int* const ref = &a; void func(int& ref) { ref = 100; // ref是引用,转换为*ref = 100 } int main() { int a = 10; //自动转换为int* const ref = &a; 指针常量是指针指向不可改,也说明.

2020-07-04 18:38:17 161789 4

原创 C++ 函数的引用传递

#include<iostream>#include<string>using namespace std;//1、值传递void mySwap01(int a, int b) { int temp = a; a = b; b = temp; cout << "mySwap01 a=" << a << endl; cout << "mySwap01 b=" << b << endl;}.

2020-07-04 11:44:00 131173

原创 C++ 堆区内存分配

#include<iostream>#include<string>using namespace std;int* func(int b) { //形参也放在栈区 int * p=new int(10); return p;}//2、在堆区利用new开辟数组void test02() {//创建10整型数据的数组,在堆区 int * arr = new int[10]; //10代表数组有10个元素 for (int i = 0; i &lt.

2020-07-04 10:27:34 162555

原创 C++ 程序运行后的内存模型

程序运行后栈区:由编译器自动分配释放,存放函数的参数值,局部变量等注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放#include<iostream>#include<string>using namespace std;int* func() { int a = 10; //局部变量放在栈区,方法执行完毕自动释放内存 return &a; //返回局部变量地址}int main() { int * p = f

2020-06-27 19:05:27 157852

原创 C++ 程序运行前内存分区模型

C++核心编程本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。1、内存分区模型C++程序在执行时,将内存大方向划分为4个区域●代码区:存放函数体的二进制代码,由操作系统进行管理的●全局区:存放全局变量和静态变量以及常量●栈区:|由编译器自动分配释放,存放函数的参数值,局部变量等●堆区:由程序员分配和释放若程序员不释放程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程1.1程序运行前在程序编译后,生成了exe可执

2020-06-27 18:52:19 121132

原创 C++ 通讯录设计(七)

1、清空联系人功能描述:清空通讯录中所有信息清空联系人实现步骤●封装清空联系人函数●测试清空联系人1.1封装清空联系人函数实现思路:将通讯录所有联系人信息清除掉,只要将通讯录记录的联系人数量置为0,做逻辑清空即可。清空联系人代码://6、清空所有联系人void cleanPerson(Addressbooks * abs){ abs->m_Size = 0; //将当期记录联系人数量置为0,做逻辑清空操作 cout << "通讯录已清空"<<.

2020-06-27 12:57:03 109796

原创 C++ 通讯录设计(六)

1、修改联系人功能描述:按照姓名重新修改指定联系人修改联系人实现步骤●封装修改联系人函数●测试修改联系人功能1.1封装修改联系人函数实现思路:查找用户输入的联系人,如果查找成功进行修改操作,查找失败提示查无此人修改联系人代码://5、修改指定联系人信息void modifyPerson(Addressbooks * abs){ cout << "请输入您要修改的联系人" << endl; string name; cin >> name;.

2020-06-27 12:37:32 143551

原创 C++ 通讯录设计(五)

1、查找联系人功能描述:按照姓名查看指定联系人信恿查找联系人实现步骤●封装查找联系人函数●测试查找指定联系人1.1封装查找联系人函数实现思路:判断用户指定的联系人是否存在,如果存在显示信息,不存在则提示查无此人。查找联系人代码://4、查找指定联系人信息void findPerson(Addressbooks * abs){ cout << " 请输入您要查找的联系人" << endl; string name; cin >> name;

2020-06-27 12:15:16 133734

原创 C++ 通讯录设计(四)

1、删除联系人功能描述:按照姓名进行删除指定联系人删除联系人实现步骤:●封装检测联系人是否存在●封装删除联系人函数●测试删除联系人功能1.1封装检测联系人是否存在设计思路:删除联系人前,我们需要先判断用户输入的联系人是否存在,如果存在删除,不存在提示用户没有要删除的联系人因此我们可以把检测联系人是否存在封装成一个函数中, 如果存在,返回联系人在通讯录中的位置,不存在返回-1...

2020-06-27 11:21:30 122084 1

原创 C++ 通讯录设计(三)

显示联系人功能描述:显示通讯录中已有的联系人信息显示联系人实现步骤: .●封装显示联系人函数●测试显示联系人功能1.1封装显示联系人函数思路:判断如果当前通讯录中没有人员,就提示记录为空,人数大于0,显示通讯录中信息...

2020-06-27 10:51:46 151675

原创 C++ 通讯录设计(二)

功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址)添加联系人实现步骤:●设计联系人结构体●设计通讯录结构体●main函数中创建通讯录●封装添加联系人函数●测试添加联系人功能...

2020-06-27 10:00:12 124280

原创 C++ 通讯录设计(一)

#include<iostream>#include<string>using namespace std;//- 封装函数显示该界面如void showMenu()// - 在main函数中调用封装好的函数//菜单界面函数功能void showMenu() { cout << "***********************" << endl; cout << "*****1、添加联系人*****" <<.

2020-06-27 09:57:24 108496 2

原创 C++ rand()函数和srand()函数

随机数和伪随机的区别:#include<iostream>using namespace std;#include<string>#include<string>#include <stdlib.h> #include <time.h> #define MIN 0 //随机数产生的范围 #define MAX 99 //函数声明void suiji();void weisuij.

2020-06-25 13:02:05 132552

原创 C++结构体案例

#include<iostream>using namespace std;#include<string>//学生结构体struct Student { string name; int age; int score;};struct Teacher { string tName; struct Student sArray[5];};//定义一个给老师学生赋值的函数void allocateSpace(struct Teacher tA.

2020-06-25 12:30:19 115686

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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