C++
文章平均质量分 71
C++基础
是小光a~
我想做一个布道者,什么布道者,在我看来,布道者就是一个坚守自己理想信念,并且能给他人带来正能量,能够通过自己的努力让他人过得更好的人。 希望你们能有所收获,有所成长,这就是我努力的意义。——摘自博文
展开
-
C++/Java文件读写并执行相关操作、文件复制、文件格式转换等(举例)
C++文件读写(举例):注意事项(乱码问题):1、通过ifstream与getline()函数进行读取;直接通过ifstream定义的infile进行重定向输入。例一:例二:应用举例(可参考12306、图书管理系统):2、通过fopen()、fscanf()、fprintf()函数读取文件并复制到另一个文件中,同时打印在屏幕上。3、通过freopen()输入输出重定向来进行操作(这里只展示部分操作),可参考通讯录管理系统的文件读写。Java文件读写(举例):......原创 2021-02-01 22:53:31 · 474 阅读 · 0 评论 -
12306火车订票系统(C++)
12306火车订票系统(C++)注意事项:设计思路—设计问题解决思路、系统功能规划:具体实现---类设计、功能实现过程:实现代码:需要的文件:2018212591马俊光的用户信息.txt2018212591马俊光的车次信息.txt2018212591马俊光的购票记录.txtresult与运行调试:设计体会与小结:原创 2021-02-01 23:44:09 · 6776 阅读 · 8 评论 -
C语言实型数据的存在形式以及合法性(浮点数)
C语言实型数据的存在形式以及合法性(浮点数):参考文章: C语言中文网实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。实数的表示:十进制数形式由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。注意,必须有小数点。指数形式由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:a E n(a为十进制数,n为十进制整数)其翻译 2021-02-02 22:30:06 · 10895 阅读 · 0 评论 -
C++杂文(2)
1、C++函数方式实现并交差程序(注意内容:运算符重载+函数使用)2、Java实现比较类对象是否相同(重写equal、hashcode):3、Java中toArray()和toArray(T[] a)方法对比(集合转数组):4、虚函数的使用,这里体现了多态性:例一:例二:例三:java多态:5、关于const修饰:6、C++时间类型获取年月日等范例:7、map使用举例:8、类模板的使用:(以求两数中较小的那个数为例):应用举例:在JavaEE中我们在Dao层设计时可采用模板格式。原创 2021-02-01 17:42:45 · 195 阅读 · 1 评论 -
C++杂文(1)
1、不能使用int x,y=0;方式来定义x和y都为0的情况。(这种定义只是给y赋值为0,而x是随机数。)2、print()函数的压栈处理:3、父类容器是可以容纳子类对象的,只不过定义vector< A >(父类)时,只调用父类的函数,即只保留父类(基类)函数的作用4、分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。实践表明都为1个字节。5、输入n个数,计算最大值与最小值之差(while(scanf("%d",&x)!=EOF))...原创 2021-01-31 23:39:13 · 1239 阅读 · 1 评论 -
日期类与时间类定义(运算符重载应用)
日期类定义(运算符重载应用):时间类定义(运算符重载应用):原创 2021-02-01 23:22:40 · 460 阅读 · 0 评论 -
关键字const、volatile与指针的使用;汇编语言与寄存器状态的查看
关键字const、volatile与指针的使用;汇编语言与寄存器状态的查看:首先来看一个例子,为了防止是编译器自身优化的原因导致结果不一致性我们在这里禁止编译器优化(实际上这里与编译器优化无关):例一(const与指针的使用导致的结果不一致性):#include <iostream>#include<stdio.h>using namespace std;int main(){ #pragma optimize("", off) //禁止编译器优化下面一段代原创 2021-01-31 15:52:37 · 281 阅读 · 2 评论 -
指针在数组对象中的基本使用与地址探讨
指针在数组对象中的基本使用与地址探讨:这里涉及到类与对象、指针和运算符重载的一些内容:阅读前可以参考(标星号代表重点):*类和对象的进一步了解与使用**指针及其应用C++单元学习小结之指针(续),存储空间的分配策略,new和delete运算符,const限定词 结构体(续),枚举***C++之运算符重载需要注意的一些内容:指针的赋值与取地址符的使用: int *p = (int*)&b; //用指针p指向地址b,即把b的地址赋值给指针p cout<<"指针p原创 2021-01-31 15:01:17 · 228 阅读 · 4 评论 -
课表管理系统(C++)
课表管理系统(C++)注意事项:课表去重系统(周一到周五):源代码:课表增添系统(周末)源代码:视频展示:原创 2021-02-01 23:21:36 · 1287 阅读 · 0 评论 -
图书管理系统(C++)
图书管理系统(C++)注意事项:源代码:需要的文件:2018212591马俊光的用户.txt2018212591马俊光的书籍.txt2018212591马俊光的记录.txtresult部分解释:原创 2021-02-01 23:30:05 · 444 阅读 · 0 评论 -
通讯录管理系统(C++)
通讯录管理系统(C++)注意事项:代码:需要的文件:1.txt2.txt小光的通讯录.txt部分功能测试:原创 2021-02-01 23:12:49 · 233 阅读 · 0 评论 -
ATM模拟功能增强版(开户,查询余额,存款,取款,修改密码,查询登录状态及各种操作记录情况)
ATM模拟功能增强版模拟ATM的具体功能:该代码可实现开户(多个账户存入vector中),查询余额,存款,取款,修改密码,查询登录状态及各种操作记录情况,但是该代码的主函数使用了大模拟,查看起来可能造成不便(并不是一个好的代码)当然可以继续对该代码进行优化,可以把主函数中的各项操作写到外面分成几个函数,看起来会直观一些,另外该ATM没有加入显示时间的函数,无法显示时间,可以再对其优化加入。该...原创 2019-04-23 16:28:15 · 1874 阅读 · 0 评论 -
ATM模拟(查余额,存款,取款)
ATM模拟该代码只能执行简单的查余额,存款,取款操作(卡号信息由用户输入,默认密码为"000000",默认余额为0)该代码缺点:功能较少,注释信息,提示信息较多,虽然部分体现了类的思想,但是主函数中仍然是大的模拟,可以优化为操作类或外部函数来使代码具有可读性(这个代码读起来还是挺烦的)。。。#include<cstdio>#include<iostream>#in...原创 2019-04-23 16:18:53 · 3926 阅读 · 1 评论 -
成绩信息统计
成绩信息统计:#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<vector>using namespace std;class students{ string id; string name; ...原创 2019-04-11 12:59:53 · 455 阅读 · 0 评论 -
C++面向对象程序设计 学习心得
C++面向对象程序设计 学习心得:这学期学了C++面向对象程序设计,通过成绩单处理,ATM,通讯录,图书管理系统这几个简单系统,慢慢地对系统的设计有了一个初步的认识。简单说一下设计系统具体的过程以及一些注意事项:拿到一个设计的题目或者说一个项目的需求分析,首先要根据大体功能(需求分析)规划出基本的思路框架,然后一步步去思考实现,逐步地去优化,顺序可以从管理端到用户端,登录之类的可以放到最后...原创 2019-06-23 17:19:45 · 5206 阅读 · 0 评论 -
C++单元学习小结之C++11部分新增内容
C++11部分新增内容这学期不再学习C语言了,转向了C++,开始学习面向对象程序设计,也不再以做简单题目,写程序为主,而是学会理顺思路,探索系统的功能实现,转化为各种问题,最终能够自己编写出一套能够切实可行,实现具体功能的系统构架。C++11新增了很多内容,如constexpr对象,auto类型说明符(虽然C++98和C语言中就有auto关键字,用于自动存储类别的局部变量声明,但是并不经常使用...原创 2019-03-24 15:58:38 · 234 阅读 · 0 评论 -
C++单元学习小结之指针(续),存储空间的分配策略,new和delete运算符,const限定词 结构体(续),枚举
指针(续)存储空间的分配策略new和delete运算符const限定词结构体(续)枚举原创 2019-03-24 16:10:47 · 138 阅读 · 0 评论 -
C++单元小结之Vector与迭代器(续),内置数组、vector和string,文件数据处理(文件操作续),字符串流(续)
Vector与迭代器(续)内置数组、vector和string文件数据处理(文件操作续)字符串流(续)原创 2019-03-24 17:42:24 · 205 阅读 · 0 评论 -
C++之虚函数与多态
C++之虚函数与多态:多态性(Polymorphism)是指一个名字,多种语义;或界面相同,多种实现,重载函数是多态性的一种简单形式。虚函数允许函数调用与函数体的联系在运行时才进行,称为动态联编。实现运行时多态的关键首先是要说明虚函数,另外,必须用基类指针调用派生类的不同实现版本,冠以关键字 virtual 的成员函数称为虚函数。基类指针虽然获取派生类对象地址,却只能访问派生类从基类继承的...原创 2019-06-23 23:19:37 · 106 阅读 · 0 评论 -
C++之组合与继承
C++之组合与继承组合:将一个类的对象作为另一个类的成员,被称作组合或包含,创建包含对象成员的组合对象时,会执行成员类的构造函数初始化对象成员。成员初始化的次序和成员声明的次序相同,并不考虑它们在初始化列表中的排列顺序。复用类:一、如果可以获得源码,修改其源代码二、如果不能获得源代码,或者担心因修改代码引入错误,这时我们可以应用组合,重新包装一个类对象,对外提供新接口,使之用于特定的环境。...原创 2019-06-23 23:16:54 · 543 阅读 · 0 评论 -
文件操作的详细使用
文件操作: C++将文件分为文本文件和二进制文件(区别)文件操作主要有fopen,freopen重定向版与文件输入输出流三类:一、用fopen打开文件,用 fclose 关闭文件,用 fscanf,fprintf 读写文件,用 fgetc读文件,用fputc写文件,用fgets函数读文件, fputs函数写文件,用 fread读文件,用fwrite写文件,用fseek 改变文件当前位置,ftell()函数,rewind()函数谨记二、freopen重定向版三、文件输入输出流命令行参数原创 2019-07-19 08:44:51 · 397 阅读 · 0 评论 -
C++之运算符重载
C++之运算符重载可以将运算符看作是一种特殊的函数:操作数是函数的参数,运算结果是函数的返回值,如果运算符被看作是函数,自然也可以像函数一样重载。已见过的运算符重载现象:移位运算符>>和<<,用作流输入和输出运算符定义重载运算符和定义普通函数类似:函数名:由关键字operator 和其后要定义的运算符组成,例:operator=, operator<<...原创 2019-06-23 18:46:10 · 196 阅读 · 0 评论 -
C++之对象的初始化、复制和销毁
C++之对象的初始化、复制和销毁C++定义了几种不同的初始化形式,对于类类型的对象来说,不同的初始化形式意味着要调用不同的构造函数。初始化方式:默认初始化,直接初始化,拷贝初始化,列表初始化默认初始化:如果定义对象时没有指定初值,对象被默认初始化,调用类中的默认构造函数,例:A a; //默认初始化,调用A() A arr[2]; //调用两次A() 初始化数组每个元素A arr[...原创 2019-06-23 18:39:08 · 441 阅读 · 0 评论 -
类和对象的进一步了解与使用
类和对象(二)this 指针:每个成员函数都有一个隐含的参数,指向接收消息的对象,称为this指针。X类的this指针的类型是X*。this指针是一个常量,含有当前实施调用的对象的地址。不能改变this指针的值,也不能取this指针的地址。用途:区分与数据成员同名的变量返回当前对象取得当前对象地址例:class X {int m;public: void setVal...原创 2019-04-14 22:50:54 · 195 阅读 · 0 评论 -
类和对象的初步认识与了解
类和对象(一)为什么要使用类:C++基本语言定义的抽象数据类型:结构体,描述数据。全局函数,描述对数据的操作,数据以参数的形式传递给函数。但是以上抽象数据类型存在以下问题:数据和操作之间的密切关系不能体现。结构体和操作之间的明显关联只是结构体数据类型的指针是这些函数的参数,使用时需要传递数据的地址,与内置类型相比不直观也不方便。还有就是如果我们大量使用全局函数容易引起名字的冲突。后来就出现...原创 2019-04-14 22:42:47 · 259 阅读 · 0 评论 -
C++单元学习小结之标准库类型string
标准库类型stringstring 类支持字符串对象的各种操作:各种初始化方式,字符串之间的复制、比较、连接,查询字符串长度和判断字符串是否为空,访问字符串中的单个字符等。使用string 类要包含头文件简单使用举例:#include <iostream>#include <string>using namespace std;int main(){str...原创 2019-03-24 16:21:48 · 125 阅读 · 0 评论 -
C++单元学习小结之函数(续)
C++单元学习小结函数(续)函数的传递:参数传递是指用函数调用的实参来初始化函数形参存储区的过程。函数的形参是局部对象,仅在函数的作用域内可见,每次调用函数时,会创建形参变量,并用传入的实参初始化形参,其中形参的类型决定了实参初始化形参的方式。参数传递方式分为以下及种类型:一、传值调用函数(按值传递)当实参的值被复制给形参时,形参和实参是两个独立的对象,实参被称为按值传递,或传值调用...原创 2019-03-24 22:53:52 · 102 阅读 · 0 评论 -
2019年2月8日训练日记(文件操作知识点小结)
文件操作首先先来介绍一下什么是文件:文件是根据特定的目的而收集在一起的有关数据的集合。C++把每一个文件都看成是一个有序的字节流,每个文件都以文件结束标志结束,如果爱要操作某个文件,就必须先打开该文件。当一个文件被打开后,该文件就和一个流关联起来,这里的流实际上是一个字节序列。C++将文件分为文本文件和二进制文件。二进制文件一般含有特殊的格式或计算机代码,如:图文件和可执行文件等。文本文件则...原创 2019-02-08 23:02:06 · 162 阅读 · 0 评论 -
2019年2月12日训练日记(指针及其应用)
今天总结一下指针的知识点与指针的使用:指针及其应用第一节 指针变量指针变量的定义、赋值:指针定义的一般形式:类型说明符*变量名其中,*表示这是一个指针变量,变量名及为指针的变量名,类型说明符表示该指针变量所指向的变量的数据类型。例:int *p=NULL;定义了一个指针变量p,p指向一个内存空间,里面存放的是一个内存地址。现在赋值为NULL(其实就是0,特殊的空地址)给指针变量p...原创 2019-02-12 20:10:26 · 1589 阅读 · 0 评论 -
2019年2月11日训练日记(结构体知识点学习小结)
结构体结构体定义和操作:定义结构体及结构体变量:一、定义结构体类型的时候同时定义变量:struct结构体变量名{成员表;成员函数;}结构体变量表;例如:struct student{ string name; int chinese,math; int total;}a[101];同时定义了a数组变量二、先定义结构体再定义结构体变量:struct...原创 2019-02-11 20:44:23 · 181 阅读 · 1 评论 -
2019年2月4日训练日记(递归学习小结)
今天简单写一下有关递归方面的小结:递归概念:当函数的定义中,其内部操作又直接或间接的出现对自身的调用,则这样的程序嵌套为递归定义。函数直接调用其自身,称为直接递归,间接调用其自身,称之为间接递归。能够用递归算法解决的问题,一般满足如下要求:一、需要求解的问题可以转化为子问题求解,其子问题的求解方法与原问题相同,只是规模上的增大或减小。二、递归调用的次数是有限的;必须有递归结束的条件(称...原创 2019-02-04 17:14:20 · 513 阅读 · 1 评论 -
2019年2月3日训练日记(函数学习小结)
今天写一下函数部分的知识点(函数学习小结)函数简单介绍一下函数的基础知识:引入函数之前先介绍一下子程序:子程序本质是一个相对独立的程序段,用一个标识符代替。子程序的使用不仅缩短了程序,节省了内存空间及减少了程序的编译时间,而且有利于结构化程序设计。接下来我来介绍函数:函数定义的语法形式:数据类型 函数名(形式参数表){函数体 //执行语句}函数的数据类型是函数...原创 2019-02-03 21:34:11 · 298 阅读 · 0 评论 -
C语言学习小结
**C语言学习小结**这学期学了C语言,对C语言有了一个简单的了解与初步的认识。首先从程序结构的使用与学习开始学起,到后来数组、函数的初步了解,能够开始解决一些简单的C语言问题,但是要想深入解决一些难题,还要等到下学期学习算法及函数、指针的深入才能做到得心应手。这学期只是认识阶段,下学期的任务很重,C语言的学习道路才刚刚开始,一切都是任重而道远。这次博客根据之前的几次博客做一些补充及注意问...原创 2019-01-04 22:33:55 · 288 阅读 · 0 评论 -
学习
简单从学过的小的编译程序说起。1 首先程序的开头要写上头文件,头文件形式多样,没有万能的头文件,当需要使用某些常亮,变量,输入输出以及一些函数时,需要调用与之相应的头文件,不同的编译软件以及不同的编译语言需要调用的头文件不同。头文件的一般形式是#include&amp;amp;lt;&amp;amp;gt;,&amp;amp;lt;&amp;amp;gt;代表包含在库中,需要使用相关库时在程序前打出即可。2 其次需要注意的是在不同的编译原创 2018-11-11 09:44:35 · 146 阅读 · 0 评论 -
位运算(与、非、或、异或),移位运算符,逻辑运算符(逻辑与、逻辑或及其短路)的使用
位运算符:位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class da...转载 2019-04-24 22:34:40 · 777 阅读 · 0 评论 -
数组的学习与使用
数组数组的引入:我们引入数组的目的是为了处理更多的数据,处理更加复杂的问题。处理更多的数据就让我们联想到输入输出数据,当输入输出多组数据时,可以用之前学过的cin>>…,cout<<…;scanf(),printf();来解决,但是数据多了,就会暴露繁冗不便的弊端,于是我们就引入了数组。数组又分为一维数组,二维数组,字符数组等多种形式。对于一维数组:数组的定义要声...原创 2018-12-22 15:16:07 · 231 阅读 · 1 评论 -
循环语句
这一次主要来简单介绍一下关于循环语句的一些知识点使用及部分注意问题。一、循环语句知识点:C语言提供for、while、do-while三种循环语句来实现循环结构。当给定循环条件为真时,重复执行一个语句序列,即循环体。其中while语句属于当型循环,其一般形式为:while(循环控制表达式){语句序列}花括号内表示循环体,用于计算循环控制表达式的值。for语句也属于当型循环语句,它...原创 2018-12-08 18:36:42 · 313 阅读 · 0 评论