自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++const用法的总结

1.const关键字常类型是指,使用const修饰的类型,常类型的变量或对象的值是不能被更新的。 在定义的时候就要初始化初值,如:const int b = 10;1)指针所指向的内存空间,不能被修改int operatorTeacher01(const Teacher *pT){ //pT->age = 10; return 0;}2)指针变量本身不能被修改int operatorTeacher02( Teacher * const pT){ pT->age = 1

2020-09-22 14:36:17 123

转载 C++面向对象的转变 + this指针

1)C++类对象中的成员变量和成员函数是分开存储的成员变量:普通成员变量:存储于对象中,与struct变量有相同的内存布局和字节对齐方式静态成员变量:存储于全局数据区中成员函数:存储于代码段中。问题出来了:很多对象共用一块代码?代码是如何区分具体对象的?换句话说:int getK() const { return k; },代码是如何区分,具体obj1、obj2、obj3对象的k值?看下图对于普通成员函数,C++编译器做了一层封装,比如Test类的构造函数,其中虽然只写了一个参数i,但实际

2020-09-21 19:23:09 268

原创 C++类的静态成员变量和静态成员函数

1.静态成员变量1)普通成员变量 通过对象名能够访问public成员变量 每个对象的普通成员变量都是专属的,不能在对象之间共享2)静态成员变量 静态成员变量属于整个类所有,所有对象共享类的静态成员变量 静态成员变量的生命周期不依赖于任何对象 可以通过类名和对象名访问public静态成员变量3)静态成员变量的定义 静态成员变量在类的内部声明,声明时直接通过static关键字修饰 静态成员变量在类的外部定义与初始化,语法规则为Type ClassName::VarName = value;

2020-09-21 18:28:27 413

转载 C++new和delete(内存申请和释放内存)

大纲(复习)1.介绍1.malloc,free和new,delete区别。 a.malloc,free是C/C++的标准库函数。new,delete是c++的操作符。 b.malloc申请的是内存,严格意义不是“对象”,new申请的可以理解为“对象”,new 时会调用构造函数,返回指向该对象的指针。 c.对于class类型,必须用new/delete来创建和销毁,自动调用构造和析构函数,malloc/free无法胜任。2.使用new遵循原则: a.用new申请的内存,必须用delete释放。

2020-09-21 16:23:24 1608

原创 C++引用(已定义变量的别名)

大纲1 引用的概念1.引用可以看作一个已定义变量的别名2. 属于C++编译器对C的扩展,不能用c语言的语法去思考它2.引用的使用引用的语法:Type& name = var;(普通引用 必须要初始化)void main91(){ int a = 10; int &b = a; b = 100; //相当于把a修改成100了. printf("b:%d \n", b); printf("a:%d \n", a); a = 200; printf("b:%d

2020-09-21 13:53:07 2500

原创 C++匿名对象

c++中的匿名对象大纲1)什么是匿名对象(也称临时对象)2)产生匿名对象的三种情况1.产生匿名对象的三种情况:  1)以值的方式给函数传参;  Cat(); —> 生成了一个匿名对象,执行完Cat( )代码后,此匿名对象就此消失。这就是匿名对象的生命周期。   Cat cc = Cat(); —>首先生成了一个匿名对象,然后将此匿名对象变为了cc对象,其生命周期就变成了cc对象的生命周期。  2)类型转换;  3)函数需要返回一个对象时;return temp;2.匿名对象

2020-09-21 11:57:51 18112 5

原创 C++对象的构造和析构函数(初始化、清理、深浅拷贝、初始化列表)

1.构造函数为什么需要构造函数? 注意:类的数据成员是不能在声明类时初始化的。 而创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。 为了解决这个问题,C++编译器提供了构造函数(constructor)来处理对象的初始化。构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。1.构造函数定义 1)C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数; 2)构造函数在定义时可以有参数; 3)没有任何返回类

2020-09-21 11:03:56 703 1

转载 C++类的声明和类的实现分开写(.hpp和.cpp)

1.声明和实现为什么要分开写现在开始写项目了,你会发现我们一般都要写一个cpp,对应的还得有一个h文件,那么为什么在C++中我们要这么做?.h就是声明,.cpp就是实现,而所谓分离式实现就是指“声明”和“定义”分别保存在不同的文件中,声明保存在.h文件、定义保存在.cpp文件中。那么将声明和定义分离有什么意义吗?首先从非分离式(声明的同时给出定义)看,其内容一般保存在.h文件中,以供多个源文件引用。但是将定义放在头文件,那么当多个源文件使用#include命令包含此类的头文件便会在链接阶段出现“m

2020-09-12 09:33:49 19645

转载 C++类与封装的概念(属性变量和行为函数,使用方法和内部细节)

C++类与封装的概念这节我们来学习类与封装的概念,我们知道,一般电脑都是由CPU、内存、主板、硬盘等部件组合组成,但是我们组装电脑的时候,仅仅是把硬盘、内存、CPU、主板等这些部件的接口相互连接起来就行,我们不会去关注硬盘、CPU、主板等他们的内部是怎么实现的,组装电脑并不需要去了解学习硬盘的设计、主板的设计,直接用他们的接口就行,这就是封装一个生活中的例子。在C++中,类封装通常分为下边两个部分-类的实现细节-类的使用方式在我们使用别人提供的类时,我们只关心使用方式,至于类内部是怎么实现,不需要

2020-09-11 15:49:09 786 1

转载 C++函数重载(名字相同,参数类型、个数、顺序不一样)

大纲:1.函数重载我们在平时写代码中会用到几个函数但是他们的实现功能相同,但是有些细节却不同。例如:交换两个数的值其中包括(int, float,char,double)这些个类型。在C语言中我们是利用不同的函数名来加以区分。void Swap1(int* a, int* b);void Swap2(float* a, float* b);void Swap3(char* a, char* b);void Swap4(double* a, double* b);我们可以看出这样的代码不美观而

2020-09-11 15:37:03 19497

空空如也

空空如也

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

TA关注的人

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