![](https://img-blog.csdnimg.cn/20191010140005928.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
江洗河
这个作者很懒,什么都没留下…
展开
-
C++ 继承&重载运算符和重载函数&C++ 多态&虚函数&ADT&C++ 数据封装
面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。基类 & 派生类一个类可以派生自多个类,这意味着,它可以从多个基类继承数...原创 2019-10-12 22:03:09 · 521 阅读 · 0 评论 -
C++ 友元函数&C++ 内联函数&this 指针&C++ 指向类的指针
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:cla...原创 2019-10-12 11:25:14 · 1240 阅读 · 0 评论 -
C++ 类构造函数 & 析构函数&拷贝构造函数
类的构造函数类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。下面的实例有助于更好地理解构造函数的概念:实例#include <iostream> using namespace std; class Line{ pub...原创 2019-10-12 10:49:13 · 778 阅读 · 0 评论 -
C++类成员函数、访问修饰符和继承方式
C++在 C 语言的基础上增加了面向对象编程,C++支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。C++ 类定义定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括...原创 2019-10-12 10:14:55 · 601 阅读 · 0 评论 -
C++数组浅析(多维数组、指向数组的指针、传递数组给函数、从函数返回数组)
C++ 多维数组C++ 支持多维数组。多维数组声明的一般形式如下:type name[size1][size2]...[sizeN];例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组:int threedim[5][10][4];二维数组多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:t...原创 2019-10-05 21:55:48 · 392 阅读 · 0 评论 -
C++ 字符串
C++ 提供了以下两种类型的字符串表示形式:C 风格字符串C++ 引入的 string类类型C 风格字符串C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符'\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 "Hello"字符串。由于在数组的末尾存储了空字符,所以字...原创 2019-10-10 14:49:59 · 276 阅读 · 0 评论 -
C++中的指针浅析
C++ 指针学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:实例#include <iostream> using namesp...原创 2019-10-10 18:38:27 · 150 阅读 · 0 评论 -
C++ 中常量引用、指针常量、常指针、空指针、野指针浅析
先初步了解引用、指针的一些注意事项。引用并非对象引用必须初始化引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起类型要严格匹配int &a = 10; //错误:引用类型的初始值必须是一个对象 double a = 3.14; int &b = a; //错误:此处引用类型的初始值必须是...原创 2019-10-10 19:16:55 · 180 阅读 · 0 评论 -
C++ 指针的算术运算、指针和数组、引用
C++ 指针的算术运算指针是一个用数值表示的地址。因此,您可以对指针执行算术运算。可以对指针进行四种算术运算:++、--、+、-。假设 ptr 是一个指向地址 1000的整型指针,是一个 32位的整数,让我们对该指针执行下列的算术运算:ptr++在执行完上述的运算之后,ptr 将指向位置 1004,因为 ptr每增加一次,它都将指向下一个整数位置,即当前位置往后移 4 个字节。这个运算会...原创 2019-10-11 10:31:05 · 441 阅读 · 0 评论 -
C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t和 time_t 能够把系统时间和日期表示为某种整数。结构类型tm 把日期和时间以 C结...原创 2019-10-11 10:44:34 · 341 阅读 · 0 评论 -
C++ 基本的输入输出
C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。I/O 库头文件头文件函数和描述iostream该文件定义了 cin、cout、cerr 和 clog对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流...原创 2019-10-11 11:07:25 · 119 阅读 · 0 评论 -
C++ 结构体
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。定义结构为了定义结构,必须使用 struct语句。struct语句定义了一个包含多个成员的新的数据类型,struct语句的格式如下:struct type_name {member_type1 member_name1;member_type2 memb...原创 2019-10-11 11:23:58 · 137 阅读 · 0 评论 -
C++学习笔记06
C++ 数字实例#include <iostream>using namespace std; int main (){ // 数字定义 short s; int i; long l; float f; double d; // 数字赋值 s = 10; i = 1000; ...原创 2019-10-05 19:51:15 · 123 阅读 · 0 评论 -
C++学习笔记05
C++ 判断求 a,b,c,d 四个数中的最大数。#include<iostream> #include <iomanip>using namespace std;int main(){ int a, b, c, d, m, n,z; a = 10; b = 20; c = 30; d = 40; m = a ...原创 2019-10-05 13:51:55 · 105 阅读 · 0 评论 -
简单错误记录功能
开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名...原创 2019-07-26 22:56:07 · 106 阅读 · 0 评论 -
扎金花
扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王)原创 2019-07-26 22:58:53 · 421 阅读 · 0 评论 -
算法练习001
删数有一个数组一个[N]顺序存放0〜N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N = 7)为例:{0,1,2,3,4,5,6,7},0-> 1-> 2(删除) - > 3-> 4-> 5(删除) - > 6-> 7-> 0(删除),如此循环直到最后一个数被删除。输入描述:每组数...原创 2019-07-27 20:44:50 · 92 阅读 · 0 评论 -
字符串集合算法题汇总(使用C++和python语言)--hard001
字符串排序这道题难点在于逆序和非英文字母的保持原位,可以考虑使用vector的push_back单独处理英文字母的逆序,再并到原字符串#include<vector>#include<iostream>#include<string> using namespace std; int main(){ string s; vec...原创 2019-08-07 22:11:46 · 214 阅读 · 0 评论 -
字符串集合算法题汇总(使用C++和python语言)--easy001
计算字符串最后一个单词的长度,单词以空格隔开自己的思路:#include<iostream>#include<string>using namespace std;int f(){ string s; while(getline(cin,s)){ int cut = s.rfind(' '); string s...原创 2019-08-06 21:46:01 · 201 阅读 · 0 评论 -
字符串集合算法题汇总(使用C++和python语言)--easy002
删除字符串中出现次数最少的字符思路:计数排序法;针对于多组测试数据数组初始化,这点要注意不能直接使用 a [26] = { 0 };写复杂了反而测试用例通不过,笨点按步骤循环吧#include <iostream>#include <string>using namespace std;int main(){ int i, len ,min; ...原创 2019-08-07 00:06:10 · 116 阅读 · 0 评论 -
字符串集合算法题汇总(使用C++和python语言)--mid001
计算字符的个数需要注意的是字符不区分大小写还有字符中可能含有空格#include<iostream>#include<string> using namespace std; int main(){ string s1,s2; while(getline(cin,s1)&&getline(cin,s2)){ ...原创 2019-08-07 20:12:06 · 368 阅读 · 0 评论 -
C++学习笔记01
:::: 在C++ 中表示作用域,和所属关系。:: 是运算符中等级最高的,它分为三种,分别如下:作用域符号:作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。例如:A,B 表示两个类,在 A,B中都有成员 member。那么:1、A::member就表示类A中的成员member。2、B::member就表...原创 2019-10-04 11:46:57 · 153 阅读 · 0 评论 -
C++学习笔记02
C++ 变量类型变量是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++是大小写敏感的。C++ 中的变量定义变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义...原创 2019-10-04 20:21:36 · 175 阅读 · 1 评论 -
C++学习笔记03
C++ 修饰符类型C++ 允许在 char、int和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。下面列出了数据类型修饰符:signedunsignedlongshort修饰符signed、unsigned、long和 short可应用于整型,signed和 unsigned可应用于字符型,long可应用于双精度型。修饰符 ...原创 2019-10-05 12:40:07 · 186 阅读 · 0 评论 -
C++学习笔记04
位运算符位运算符作用于位,并逐位执行操作。假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:A = 0011 1100B = 0000 1101A&B = 0000 1100A|B = 0011 1101A^B = 0011 0001~A = 1100 0011实例#include <iostream>using namesp...原创 2019-10-05 13:19:44 · 155 阅读 · 0 评论 -
最高分是多少?
时间限制:1秒空间限制:65536K老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。输入描述:1. 输入包括多组测试数据。2. 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。3. 学生ID编号从1编到N。4. 第二行包...原创 2019-07-26 21:45:40 · 125 阅读 · 0 评论