自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 【小甲鱼C++快速入门】P22 静态属性和静态方法

静态属性和静态方法1.待施工…

2019-09-20 11:53:52 168

原创 【小甲鱼C++快速入门】P21友元关系

友元关系1.什么是友元关系声明友元关系后可以让友元类访问到自己protected和private的属性和方法。定义友元类的语法:firend class ****这句话可以放在任何地方,但必须要在类里面。2.一些细节问题我自己写了一个例子来测试友元特性,注意看代码中的注释:#include <iostream>//在这里最好写上声明,因为A和B的类中的方法test_...

2019-09-20 11:19:45 237

原创 【小甲鱼C++快速入门】P20 覆盖方法和重载方法

覆盖方法和重载方法1.覆盖方法的作用就是说,父类中定义了一个方法,但是子类继承之后对这个方法产生了特殊的需求,需要对这个方法进行一些修改,那么就可以在子类中定义一个同名的方法覆盖掉之前父类中的方法。注意,覆盖方法时函数的形参和返回值都不能变化,不管是数量还是类型都不能变。2.重载方法的作用与函数的重载是一样的概念。一个类中可以有几个同名的方法,但这些方法的参数不一样。重载并不是一个面向对象...

2019-09-19 22:59:27 178

原创 【小甲鱼C++快速入门】P18 继承机制中的构造器和析构器

继承机制中的构造器和析构器1.构造器的调用很简单,子类在被实例化的时候,基类的构造器会被自动调用用来初始化那些在基类中定义的属性。而子类的构造器仅仅是用来初始化子类自己特有的那些属性。2.构造器和析构器的调用顺序顺序如下:基类的构造器子类的构造器子类的析构器基类的析构器注意析构器和构造器的调用顺序是反的。...

2019-09-19 22:05:53 189

原创 【小甲鱼C++快速入门】P17 this指针和继承

this指针和继承1.什么是this指针当我们调用成员函数时,实际上是替某个对象调用它。成员函数通过一个名为 this 的额外隐式参数来访问调用它的那个对象,当我们调用一个成员函数时,用请求该函数的对象地址初始化 this。例如,如果调用 total.isbn()则编译器负责把 total 的地址传递给 isbn 的隐式形参 this,可以等价地认为编译器将该调用重写成了以下形式://伪代...

2019-09-19 21:47:16 236

原创 【小甲鱼C++快速入门】拾遗

拾遗1.std::string类待施工…2.c++文件操作待施工…

2019-09-19 21:16:42 137

原创 【小甲鱼C++快速入门】P16 定义构造器

定义构造器1.什么是构造器构造器是类的一个特殊的方法,每个类至少有一个构造器,如果没有显示写出,编译器会自己加上一个空的构造器。构造器的名字应该与类的名字完全一致,并且构造器没有返回值,所以不用写上void、int之类的来定义它。构造器的作用是初始化对象。2.构造对象数组这个概念很简单,一个类其实就是一个新的数据类型,当然也可以用数组来存放,相当于数组中的每个元素就是一个这个类的对象。...

2019-09-19 21:15:19 159

原创 【小甲鱼C++快速入门】P14 给大家介绍对象

给大家介绍对象1.如何定义一个类在 C++ 中,类的定义方法如下:class 类名{访问范围说明符: 成员变量1 成员变量2 成员函数声明1 成员函数声明2访问范围说明符: 更多成员变量 更多成员函数声明 ...};类的定义要以;结束。“访问范围说明符”一共有三种,分别是 public、private 和 protecte...

2019-09-19 20:55:31 168

原创 【小甲鱼C++快速入门】P12 引用传递

引用传递1.什么是引用传递简单来说,一个函数的参数可以接受一个值、一个地址、或者一个引用。接受引用是c++的一个特性,就是说,当我用这样的形式来定义一个函数:void swap(int &x, int &y);然后用这样的方式来调用:int x,y;swap(x,y)这里传入swap的就直接是x和y的地址了,而不是x和y的值。...

2019-09-19 20:16:28 158

原创 【小甲鱼C++快速入门】P2 从一个小程序讲起2

从一个小程序讲起21.这个小程序的C语言实现虽然已经开始学C++,但是这里这个C语言的程序还是有很多地方需要注意。未完待遇…

2019-09-17 23:05:54 210

原创 【跟着小甲鱼学C语言】P56 文件操作

位操作1.打开和关闭文件打开和关闭文件如下面代码所示:#include<stdio.h>#include<stdlib.h>int main(void){ FILE *fp; char ch; if((fp = fopen("test.txt","r")) == NULL) { printf("failure\n"); exit(1); }...

2019-09-15 22:26:14 405

原创 【跟着小甲鱼学C语言】P54 位操作

位操作1.有哪些位操作运算符共有四个:& 按位与,| 按位或,^ 按位异或, ~ 按位非。还可以和 = 结合起来使用。&=、|=、^=,但是注意没有~=。

2019-09-15 21:32:46 182

原创 【跟着小甲鱼学C语言】P53 位域

位域1.什么是位域有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如单片机开发中的开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于节省内存空间的考虑,C语言提供了一种叫做位域的数据结构。举个例子:struct bs{ unsigned m; unsigned n: 4; unsigned char ch...

2019-09-15 21:22:03 249

原创 【跟着小甲鱼学C语言】P52 枚举类型

枚举类型1.枚举类型的定义使用enum关键字来定义枚举类型:enum Color {red, green, blue};enum Color color;这段代码就定义了一个枚举类型Color,并且定义了一个这个类型的枚举变量color,color的值只有三种可能,就是red、green或者blue,所以叫枚举类型。2.枚举类型的特征枚举类型中的值其实都是整型,所以枚举类型是可以用...

2019-09-15 20:58:35 226

原创 【跟着小甲鱼学C语言】P51 共用体

共用体1.什么是共用体定义结构体变量时,把struct关键字换成union就会定义一个共用体变量。共用体变量中的每个成员共享一个内存地址。

2019-09-15 20:34:45 226

原创 【跟着小甲鱼学C语言】P49 typedef关键字

typedef关键字1.typedef的作用typedef 最基础的作用在于起别名。例如typedef int interger;就是给int起了一个别名。在一些应用场景中,起别名可以让程序看起来更加直观。typedef也可以一次性起多个别名:typedef int integer,*pinteger;这句话为int起了两个别名,但是注意其中pinteger是一个指针,一定要注意为指针...

2019-09-14 19:08:19 191

原创 【跟着小甲鱼学C语言】练习总结:用单链表存放一个数组

还是一个练习的总结写一个程序用单链表来实现存放一个数组。其中包括单链表节点的定义、用户输入节点的内容、使用头插法输入数据、显示已经输入的数据等几个功能。代码如下:#include<stdio.h>#include<stdlib.h>//定义单链表节点的结构,它是由一个整形数字和一个指针构成struct NumArray{ int num; struct ...

2019-09-14 15:13:44 1381

原创 【跟着小甲鱼学C语言】练习总结:利用结构体数组存放书籍信息

一个练习的总结练习的目标:写一个程序,利用结构体建立一个数据库存放图书数据。下面是代码:#include<stdio.h>#include<stdlib.h>struct Book{ char title[120]; char author[40]; float price; unsigned int date; char publisher[40];...

2019-09-12 21:17:59 1756

原创 【跟着小甲鱼学C语言】P42 结构体

结构体1.结构体的定义定义一个书籍结构体,它包括书籍的名称、作者,价格、上市时间、出版社:#include<stdio.h>struct Book{ char title[120]; char author[40]; float price; unsigned int date; char publisher[40];}int main(void){ r...

2019-09-12 19:46:31 382

原创 【跟着小甲鱼学C语言】拾遗

拾遗1.static和const区别const的意思是“常量”,也就是说变量一旦被定义就不能被修改,即是说变量是一个右值。static的意思有两层。第一层是当它作用在函数名或者全局变量上时,这时static关键字会把这两者的extern链接属性修改为internal。第二层是当static作用在局部变量上时,存放这个局部变量的内存空间在被定以后就不会释放,哪怕重新定义这个变量也不行,直到程序...

2019-09-12 19:06:31 1153

原创 【跟着小甲鱼学C语言】P41 内联函数和预处理运算符

内联函数1.什么是内联函数c语言在调用函数的时候会在代码段内跳来跳去,并且多次调用一个函数会重复申请内存的栈空间。为了解决这个问题,就可以使用内联函数。内联函数和宏定义类似,会直接把函数的代码直接替换到相应的位置,这样程序就不用重复申请栈空间和不停跳转了。内联函数可以用incline关键字来定义,不过现在的编译器都很智能,会自动识别哪些函数需要被转换成内联函数,不需要我们操心。2.预处理运算...

2019-09-11 21:57:34 209

原创 【跟着小甲鱼学C语言】P40 高级宏定义

高级宏定义1.不带参数的宏定义一般来说宏定义我们约定俗称都使用大写字母。宏定义末尾不能打分号。可以用 #undef 宏定义名 来终止宏定义的作用范围。宏定义可以用表达式来定义,而且可以嵌套使用,如下:2.带参数的宏定义#define MAX(x,y) (((x)>(y)) ? (x) : (y)) 定义了带两个参数的宏MAX,它是X和Y中较大的那个。这种用法看起来很像函数...

2019-09-11 15:18:01 244

原创 【跟着小甲鱼学C语言】P39 C语言的内存布局

C语言的内存布局1.堆和栈堆一般是由程序员指定分配的内存空间,其内地址由小到大分配。而栈是由系统自动分配,其内地址由大到小分配。2.一道题#include <stdio.h>int main(void){ char a = 0, b = 0; int *p = (int *)&b; *p = 258; ...

2019-09-10 23:05:36 468

原创 【跟着小甲鱼学C语言】P37 动态内存管理

动态内存管理1.malloc其原型是void *malloc(size_t size);,它用来分配一个固定大小的内存空间,并返回一个指向这个内存空间的void类型指针,所以在使用它的返回值时,最好加上强制指针类型转换再赋值。注意,这个分配好的空间是位于内存的堆上。注意,不要用指向分配好的内存块的指针去指向其他变量,这会导致内存块地址的丢失,会导致内存泄漏。还有每次用完malloc函数,因为有...

2019-09-10 22:34:21 279

原创 【跟着小甲鱼学C语言】P33 生存周期和存储类型

生存周期和存储类型1.static关键字使用static关键字作用在具有文件作用域的标识符上,其作用是修改这个标识符的external作用域为internal。但是如果static是作用在局部变量上,那么它的意思就是修改这个局部变量为静态局部变量,即是说这个变量一但被定义,存储它的内存空间直到程序结束才会被释放。...

2019-09-04 21:45:13 152

原创 【跟着小甲鱼学C语言】P32 作用域和链接属性

作用域和链接属性1.链接属性链接属性有三种,internal,external和none。internal表示这个标识符可以被多个文件访问,internal表示只能被本文件访问。默认情况下,具备文件作用域的标识符(比如函数名、全局变量)拥有 external 属性。所以只要函数有声明,其他文件就可以访问,但是如果其他文件要访问全局变量还是需要加上external关键字再声明一次。使用 sta...

2019-09-04 21:09:13 251

原创 【跟着小甲鱼学C语言】P31 局部变量和全局变量

局部变量和全局变量1.全局变量定义在main函数外的变量就是全局变量。与其他变量不同的是,如果不初始化全局变量,其会自动初始化为0。如果main函数中声明了同名的变量,那么全局变量会被屏蔽。2.extern关键字当变量在定以前就被使用的时候,可以使用extern关键字告诉编译器,这个变量已经在后边定义过了。...

2019-09-04 20:35:05 320

原创 【跟着小甲鱼学C语言】P30 指针函数和函数指针

指针函数和函数指针1.如何在函数中改变传入的实参的值只需要把函数的形参写成指针就可以了,这种情况下形参在传入的时候相当于传入的是它的地址,函数在修改值的时候会直接找到这个地址,去改这个内存地址中的值,所以会吧实参的值给修改掉,而不会像使用普通参数的函数一样,局部参数用完就释放,跟外部没有任何关系。2.指针函数其实没什么特别的,指针函数就是返回值为一个指针的函数,需要注意的只有一点,就是不要...

2019-09-03 22:05:42 476

原创 【跟着小甲鱼学C语言】P26 指向指针的指针

指向指针的指针1.如何定义和解引用定义:int num = 10;int *p = &num;int **pp = &p 解引用:printf("%d\n",**pp);

2019-08-21 17:03:50 182

原创 【跟着小甲鱼学C语言】P25 void指针和NULL指针

void指针和NULL指针1.void指针void类型不能用来定义变量,但可以用来定义指针。void *p;并且void指针可以指向任何类型的数据。但是,不能直接用*解引用void指针,所以一般要用强制类型转换之后才能解引用void指针。2.NULL指针NULL指针就是不指向任何数据的指针,其实是一个宏定义:#define NUll ((void *)0)NULL指针主要是用来...

2019-08-21 16:17:05 214

原创 【跟着小甲鱼学C语言】P24 指针和二维数组

指针和二维数组1.关于二位数组的名字int array[5][6] = {0};定义了一个二位数组array,这个array是一个指向五个元素的行指针常量。我们知道 *(array+1) == array[1]代表的是这个二维数组第二行的名字,换句话说,代表的是array[1]这个一维数组的名字,也就是普通的指针常量。注意这里*并没有取值的意思,而只是一个语法糖,把一个行指针常量降级成为了普通...

2019-08-21 15:46:39 292

原创 【跟着小甲鱼学C语言】P23 数组指针和指针数组

数组指针和指针数组1.指针和数组名的区别指针是一个变量,这个变量里面存放的内容是一个内存地址。而数组名可以看成是一个地址常量,它不是左值,不能被修改,所以不能用“++”这样的操作符去操作它。2.什么是指针数组int *p1[5]就定义了一个指针数组,就是定义了一个指针数组。指针数组本质是一个数组,但这个数组的每一个元素都是一个指针,即是说可以理解为,指针数组是每个元素的内容都是一个内存地...

2019-08-20 22:47:16 494 2

空空如也

空空如也

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

TA关注的人

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