自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++构造函数与析构函数(一)

通常情况下构造函数应该声明为公有函数,否则他不能像其他成员函数那样被显式地调用;构造函数可以有任意类型和任意个数的参数,一个类可以有多个构造函数(重载)不能定义构造函数的类型(返回类型),也不能使用void。构造函数是为了保证对象的每个数据成员都被正确初始化;如果程序中未声明,则系统自动产出一个默认构造函数;构造函数和new运算符 析构函数和delete函数。创建类类型的新对象,系统会自动调用构造函数;构造函数被声明为私有有特殊的用途。构造函数是特殊的成员函数;函数名和类名完全相同;

2024-04-24 20:18:31 163

原创 C++类与对象学习笔记(三)

从作用域的角度来看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类的作用域使用该类名时,需要加名字限定;类也可以定义在函数体内,这样的类被称为局部类(local class)。外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,并且同时可以对用户隐藏该底层实现。嵌套类的成员函数对外围类的成员没有访问权限,反之亦然;嵌套类中的成员函数可以在他的类体外定义;每个类都定义了自己的作用域成为类作用域。局部类的成员函数必须被定义在类体中;类作用域中说明的标识符只在类中可见。

2024-03-28 20:10:30 337

原创 C++类与对象学习笔记(二)

在未指定访问权限的时的成员变量,class默认的时私有的,struct默认是公有的;内联函数仅仅只是给编译器一个提示而已,如果函数中有switch for,编译器不会以内联函数来解析;使用this指针保证了每个对象可以拥有不同的数据成员,但处理这些成员的代码可以被所有对象共享;成员函数有一个隐含的附加形参,即指向该对象的指针,整个隐含的形参叫做this的指针;原理:编译的时候将代码直接嵌入到调用的地方,从而减少了函数调用的开销;成员函数是每个类所有对象公有只读的;成员函数都隐藏了自身指针的参数;

2024-03-27 20:00:19 288 1

原创 类和对象的学习笔记

封装是一项将低层次的元素组合起来形成新的,高层次的实体的技术。函数是封装的一种形式:函数所执行的细节行为被封装在函数整个更大的实体中。同样的类也是一个封装的实体:它所代表若干成员的聚集,设计良好的类隐藏了类实现的细节。类设计者必须关心类是如何实现的,但类的使用者不必了解这些细节。公有成员(外部接口)//在关键字public后面声明,他们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数;//在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问;

2024-03-26 20:29:29 136

原创 结构体内存对齐

其他成员对齐值min(sizeof(member),#pragma pack 所指定的值)的整数倍。整个结构体也要对齐,机构体总大小对齐至各个成员中最大对齐数的整数倍;2.C,c++语言非常灵活,他允许你干涉“内存对齐”;1.编译器为每个“数据单元”安排在某个合适的位置上;第一个数据成员放在offset为0的位置;性能原因:在对齐的地址上访问数据块;

2024-03-26 20:04:11 252

原创 C++与C语言之间的区别

3.作用域不同,const定义的常变量的作用域为该作用域的范围;#define定义的常量作用域为它的定义点到程序结束,可以使用#undef取消;用const给字面常量起个名字(标识符),这个标识符就成为标识符常量:因为标识符常量的声明和使用形式很像变量,所以也称常变量;2.const 定义的常量在编译的时候分配内存;#define定义的常量在预编译的时候进行替换,不分配内存;定义常量还可以使用enum,尽可能使用enum const替换#define;#define定义的常量没有类型;

2024-03-25 20:14:57 361

原创 面向对象的程序设计

当定义了一个类以后,有需要定义另一个类,这个新类与原来的类相比只是增加或修改了部分属性和操作,这个时候可以用原来的类派生出新类,新类中只需描述自己所持有的属性和操作;通过限制对属性和操作的访问权限,可以将属性“隐藏”在对象的内部,对外提供一定的接口,在对象之外只能通过接口对对象进行操作;一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具体不同的行为;封装是按照信息屏蔽的原则,把对象的属性和操作结合起在一起,构成一个独立的对象。抽象是人们认识事物的一种方法。

2024-03-14 19:54:17 364

原创 C++ 基础算法源码及解析

冒泡排序:void BubbleSorting(std::vector<int>& testdata){ int nSize = testdata.size(); if(nSize < = 1) return; int tmp,nex; for(int i = 0;i<nSize-1;i++) { nex = 0; for(int j = 1;j<(nSize - i);j

2024-03-14 18:59:24 546 1

空空如也

空空如也

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

TA关注的人

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