![](https://img-blog.csdnimg.cn/20210320091043538.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
以学校老师节奏为主,每周复盘整理这周所学知识点
每天八杯水D
修德 求知 炼体 磨意
展开
-
C++中类的构造函数初始化数据成员的特殊方法,参数初始化表法
好处这种方法不在函数体内对数据成员初始化,而是在函数首部实现,可以减少函数体的长度,使结构函数显得精练简单,这样就可以直接在类体中定义构造函数,而不是类外定义。参数初始化表的构造函数的一般形式构造函数名(类型1 参数1,类型2 参数2):数据成员名字1(参数1),数据成员名字2(参数2){ }例题演示class Student{public: Student(int sno0,string name0):sno(sno0),name(name0) { }priv.原创 2021-06-30 17:38:08 · 396 阅读 · 0 评论 -
C++实现将字符串ch按逆序输出。
例题:函数void inverse( char *ch ) 的功能:将字符串ch按逆序输出。例如:如果ch是”abc123”,则输出”321cba”。#include <iostream>using namespace std;void inverse(char *ch) { int len= strlen(ch); for (int i = 0; i <len/2; i++) { char temp; temp = ch[i]; ch[i] = ch..原创 2021-06-30 15:00:31 · 829 阅读 · 0 评论 -
C++中派生类的构造函数(要调用基类的构造函数)、析构函数执行顺序
构造函数重难点知识派生类如何对数据成员初始化,尤其是涉及到基类的数据成员初始化。问题本质基类的构造函数是不能继承给子类的,所以派生类要自己创建一个构造函数。该构造函数要对基类的数据成员以及派生类自己增加的数据成员进行初始化。为了不在派生类的构造函数重复初始化基类的数据成员,为了减少代码量以及重写代码,派生类在执行构造函数时,直接调用基类的构造函数。例子派生类构造函数的一般形式派生类构造函数名字(参数列表:包括基类和子类的数据成员) : 基类构造函数名字(参数列表:.原创 2021-06-29 12:03:30 · 4319 阅读 · 1 评论 -
一维数组、二维数组关于指针的使用方法大白话详解
原创 2021-06-29 11:24:38 · 203 阅读 · 0 评论 -
枚举类型enum
枚举类型概念枚举:把变量的值一一罗列出来,变量的值只能在列举出来的值的范围内。枚举类型使用关键字enum来声明一个枚举类型,并附上这个类型仅有的一些变量。如:使用关键字enum声明星期为一种枚举类型名字,因为星期一周只有7天,其变量是固定的,称为枚举常量。声明枚举类型的格式enum weekday {sun,mon,tue,wed,thu,fri,sat};//枚举变量的值-又称枚举常量的值weekday workday=sun;//声明一个枚举变量,并且其值只能是上面的//wee原创 2021-06-28 21:12:08 · 509 阅读 · 0 评论 -
new和delete运算符进行动态分配和释放空间
C语言中使用malloc()函数和free()函数来动态分配和释放空间。C++语言中使用new运算符和delete运算符进行动态分配和释放空间。使用方法int *a = new int(5);//5是初值int *b = new int[5];//5个int大小的空间delete a; //对变量释放空间delete [ ] b;//对数组释放空间...原创 2021-06-28 20:53:27 · 490 阅读 · 0 评论 -
C++中的静态数据成员和静态成员函数
静态数据成员概念使用关键字static声明某个数据成员为静态的,该数据是属于类的,不是某一个对象的,是所有对象共享的,静态数据成员从类创建起,内存中就分配好了空间。初始化静态数据成员的声明是在类里面的,而初始化赋值操作却是在类外进行的。静态成员函数概念其主要作用就是为了操作静态数据成员的,静态成员函数只能调用静态数据成员,是不可以调用非静态数据成员的,因为静态成员函数没有this指针,也就决定了无法访问普通数据成员。...原创 2021-06-28 20:43:24 · 96 阅读 · 0 评论 -
C++中的函数重载
函数重载概念相当于同一个人,确是人格分裂,有很多种性格,但是还是一个人。一物多用,一个函数名可以多用,用同一个函数名定义多个函数,实现同一类的功能。函数重载的实现参数个数、参数类型、参数顺序三者中必须有一种不同。如以下是正确的:1、参数类型不同、参数个数相同。int max(int a,int b,int c);double max(double a,double b,double c);2、参数个数不同 、参数类型相同。int max(int a,int b,i原创 2021-06-28 19:08:27 · 98 阅读 · 0 评论 -
C++字符的使用char、string
一、C语言中用字符数组存放字符串定义和初始化字符数组可以不明确数量,系统会自动根据初值个数确定数组的长度。char ch[ ] = {'a','b'}char ch[2] = {'a','b'}注意:字符数组末尾并不要求必须有结束标志'\0',而接下来讲的字符串常量初始化字符数组时,就必须在尾部加上结束标志'\0'字符串结束标志'\0'为结束标志,每次输出时先检查一下,看它是不是‘\0’,如果是就停止输出。字符串常量初始化字符数组注意:字符串常量是使用双撇号 “ ”,并原创 2021-06-28 17:15:16 · 924 阅读 · 0 评论 -
C++输入输出流库之fstream文件流、从磁盘读取数据、把数据写入磁盘
流的概念数据传输像流水,不管数据的类型,都按字节二进制传输。输入输出时不区分类型,把数据都当二进制流对待,系统根据需要自动转换数据类型。原创 2021-06-09 16:58:38 · 1349 阅读 · 1 评论 -
C++中动态改变数组大小的三种函数malloc、calloc、realloc
malloccallocrealloc原创 2021-06-09 16:27:02 · 4040 阅读 · 0 评论 -
C++多态性的理解
多态的含义:多态的作用:C++中多态的方法:原创 2021-06-02 16:50:44 · 1475 阅读 · 0 评论 -
简单实用的循环菜单Menu()
/* 主菜单*/void Menu() { bool key = true; //程序循环的一个添加判断 while (key == true) { cout << "\n\t\t*****************************\n"; //菜单列表 cout << "\t\t* 学生信息管理系统 *\n"; cout << "\t\t* 1. 数据录.原创 2021-05-20 10:01:55 · 2703 阅读 · 1 评论 -
C++中的三种修饰详解public、private、protected
1、可以在类外边访问的只有public,而private和protected只能在类的内部访问。2、public和protected都可以继承给子类,而private不能继承给子类。3、子类继承方式:public继承:private修饰的不能继承,public和protected修饰的可以继承。 private继承:private修饰的不能继承,public和protected修饰的可以继承,但是继承后public和protected降级为private。 protected继承:priva原创 2021-05-20 09:31:31 · 390 阅读 · 0 评论 -
非常容易理解的C++ vector 容器
一、什么是vector一般使用场景:使用数组时,相当于看见哪里使用了vector就可以理解为这里使用了数组。vector表示对象的集合,其中所有对象的类型都是相同的。因为vector容纳着对象,所以被称为容器(container)vector是一个能够存放任意类型的动态数组,可自动增加长度,因此像数组一样,vector类也用从0开始的下标表示元素的位置。vector是一个类模板:里面包含了vector自身的构造函数、成员函数(增加、删除、判空、遍历等操作方法)vector一般使用方法:先原创 2021-05-06 13:53:23 · 281 阅读 · 0 评论 -
C++学习第四周第8次—for循环
C++学习第四周第8次一、for循环介绍格式:for(表达式1;表达式2;表达式3){ 循环体}与while( )一样是属于当型循环,每次执行循环体前要先判断条件是否成立;而do{ }while( );是直到循环,先不管条件执行一次循环体,再判断条件是否成立。 解释FOR结构: 表达式1: 常用于赋初值,可省 表达式2: 常用于条件判断,也可省 表达式3: 常用于循环变量的步进,也可省二:continue 和break的用法 Break是强制退出...原创 2021-03-28 19:07:15 · 365 阅读 · 0 评论 -
C++学习第四周第7次—while循环
C++学习第四周第7次while循环例题练习例题1:输入一个大于3的正整数,判断它是不是素数(素数是只能被1或自己整除的数,如13,只能被1,13整除,所以它是素数;如9,能被1,3,9整除,所以它不是素数。int n, i = 2; cin >> n; while (i <=sqrt(n) ){ if (n%i == 0) { break; } i++; }; if (i>sqrt(n)) cout << endl <原创 2021-03-28 18:58:26 · 546 阅读 · 0 评论 -
C++学习第三周第6次—循环结构程序设计、随机函数rand()
C++学习第三周第6次一、随机函数:第一步:srand(time(NULL))根据系统时间设置随机数种子,达到能产生真正随机数的目的 ,在头文件: #include <time.h>第二步:rand()#include <time.h> using namespace std; void main( ){ srand(time(NULL)); int n = rand(); // [0,100] int k = rand() % 101; ...原创 2021-03-20 17:56:56 · 136 阅读 · 0 评论 -
C++学习第三周第5次—选择结构程序设计
C++学习第三周第5次一、if多层嵌套例: 3 输入一个成绩值,判断它的成绩等级,并输出结果(标准:[90-100]为优秀,[80,90)为良好,[70,80)为中等 ,[60,70)为及格,60以下为差格式1: int a[No],i,j,t, x,L,H,M; srand(time(NULL)); int cj;cout<<"请输入成绩:";cin>>cj; if(cj<0 || cj>100) cout<<"成绩超过范围.原创 2021-03-20 17:32:28 · 186 阅读 · 0 评论 -
C++学习第二周第4次—选择结构程序设计、if、switch
C++学习第二周第4次第四章、选择结构程序设计原创 2021-03-20 17:16:39 · 132 阅读 · 0 评论 -
C++学习第二周第3次—基本表达式和语句、四种运算符
C++学习第二周第3次目录一、运算符1、算术运算符2、关系运算符3、逻辑运算符4、复合运算符一、运算符1、算术运算符+ - * / %2、关系运算符> < <= >= != ==3、逻辑运算符(1)逻辑与 && a && b 必须两个都成立,结果才成立(2)逻辑或 || a || b || c...原创 2021-03-20 16:36:17 · 62 阅读 · 0 评论 -
C++学习第一周第2次—数据类型和表达式
C++学习第一周第2次目录C++学习第一周第2次一、头文件解释二、常量、变量、常变量、标识符三、数据类型 1、整数类型 2、字符型 3、浮点型 四、运算符和表达式1、基算术运算符2、自增、自减运算符3、算术表达式和运算符优先级与结合性4、不同类型数据间的混合运算五、作业一、头文件解释1、#include <stdio.h>头文件,标准输入输出函数库。头文件是扩展名为.h的文件,包含了 C 函数声明和宏定...原创 2021-03-20 11:56:23 · 267 阅读 · 0 评论 -
C++学习第一周第1次—程序语言基本概念
C++学习第一周第1次目录C++学习第一周第1次一、计算机程序二、计算机语言三、编译四、C++基本语法五、作业一、计算机程序1-什么是计算机程序?计算机程序(Computer program),也称为软件(software),简称程序(英语:Program),是指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运行于某种目标计算机体系结构上。2术语解释指令:是计算机CPU工作的基本动作单位,一条指令能完成一个最基本动作,如加法指令,位移指令原创 2021-03-20 09:51:52 · 101 阅读 · 0 评论 -
C++绝对值函数abs()和fabs()
C++绝对值函数abs()和fabs() ! ! !函数介绍:abs()函数是用于整型数据fabs()函数是用于浮点型数据两者用来得到一个负值数据的正值案例:int n,m=-10;n=abs(m);double p,q=-5.2;p=fabs(q);原创 2021-03-18 10:31:09 · 4068 阅读 · 5 评论 -
C++学习笔记——高级应用
C++学习笔记——高级应用目录C++学习笔记——高级应用1、对象数组原创 2020-12-22 09:18:48 · 136 阅读 · 0 评论 -
C++学习笔记——拷贝构造函数
C++学习笔记——拷贝构造函数一、什么是拷贝构造函数?1、概念: 拷贝构造函数,又称复制构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其形参必须是引用,但并不限制为const,一般普遍的会加上const限制。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。2、浅拷贝和深拷贝(1)浅拷贝所谓浅拷贝,指的是在对象复制时,只对对象中的数据成员进行简单的赋值,默认拷贝构造函数执行的...原创 2020-12-21 17:06:21 · 285 阅读 · 0 评论 -
C++学习笔记——五大基本概念
今天介绍一下C++最最最基本的五大基本概念????????????1-类♥类就是一些对象具有的共性抽象,好比给一些东西取名字一样,比如我们人这个物种很久以前是没有取名为人的,但是我们祖先发现我们这个物种都是有共性的,所以取了个名字人,人就是类。2-对象♥如上面例子所说,人就是类,那我们一个个具体的如小明,小花就是这个人类里面的一个对象。3-封装♥封装就像一部手机把内部结构包裹起来,我们只有屏幕和插口,并不能看见里面的电路结构。那么类封装就是我们不知道这个类内部结构,但是我们可以用像手机屏幕,插口原创 2020-12-10 12:42:17 · 208 阅读 · 0 评论 -
C++学习笔记——七大基础知识
C++七大基础知识inline内联函数 缺省参数函数 const 函数重载 强制类型转换 动态申请内存 引用&一、inline内联函数inline是一个关键字作用:可以代替宏定义二、 缺省参数函数函数声明时就赋值注意:只能从右向左依次赋值三、 constconst是一个关键字作用:限定只能读,不能更改值四、函数重载作用:允许函数重名,与函数参数类型和个数有关,与返回值类型无关注意:当与缺省参数函数一起使用时,要防止产生二义性五、强制类型转换c中是(int)x.原创 2020-12-12 09:36:48 · 143 阅读 · 0 评论 -
C++学习笔记——类和对象简介
2020-10-19今天学习了c++的类——对象(一)现将自己所理解的知识点和思考做以下总结一、类的思想类class和结构体struct有着相似的地方,他们定义的方式相似eg:struct xiaoming{int age;string sex;}; class Human{int age;string sex;};...原创 2020-10-20 16:19:52 · 956 阅读 · 0 评论