C++读书笔记.docx

上传人:b****0 文档编号:10084034 上传时间:2023-05-23 格式:DOCX 页数:14 大小:47.62KB
下载 相关 举报
C++读书笔记.docx_第1页
第1页 / 共14页
C++读书笔记.docx_第2页
第2页 / 共14页
C++读书笔记.docx_第3页
第3页 / 共14页
C++读书笔记.docx_第4页
第4页 / 共14页
C++读书笔记.docx_第5页
第5页 / 共14页
C++读书笔记.docx_第6页
第6页 / 共14页
C++读书笔记.docx_第7页
第7页 / 共14页
C++读书笔记.docx_第8页
第8页 / 共14页
C++读书笔记.docx_第9页
第9页 / 共14页
C++读书笔记.docx_第10页
第10页 / 共14页
C++读书笔记.docx_第11页
第11页 / 共14页
C++读书笔记.docx_第12页
第12页 / 共14页
C++读书笔记.docx_第13页
第13页 / 共14页
C++读书笔记.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++读书笔记.docx

《C++读书笔记.docx》由会员分享,可在线阅读,更多相关《C++读书笔记.docx(14页珍藏版)》请在冰点文库上搜索。

C++读书笔记.docx

C++读书笔记

第二章数据类型

●基本数据类型:

整型、字符型、实型(float、double)、逻辑型(bool)

●自定义数据类型

数组、指针*、引用&、空类型、结构、联合(union)、枚举(enum)、类

第7章函数

函数的重载

一个函数名可以对应多个功能的函数实现

●参数类型上不同的重载函数

●函数个数上的重载函数

函数的嵌套调用

 

内联和递归函数

●内联函数:

提高程序的执行效率

Inline函数名(参数表);//内联函数声明

Inline函数名(参数表)//内联函数定义

{……}

类结构中所有在类说明中定义的函数都是内联函数

●递归函数:

提高代码可读性

指调用一个函数的过程中出现直接的或间接的调用该函数自身

使用C++的系统函数

Iostream.h

Math.h

Ctype.h

String.h

Graph.h

第8章决定生存的权利——存储分类符

存储分类符和作用域

●分类符:

Auto自动类:

函数级和块级

Register寄存器类:

局部变量存放到CPU的通用寄存器charint

Static静态类

内部静态变量:

作用域同自动变量一样,但离开作用域值不变

外部静态变量:

文件级,可被当前文件所有函数调用,生存期为整个程序执行期间。

在所有函数体外定义外部静态变量用关键字static

Extern外部类:

程序级和文件级,全局变量

●作用域:

程序级

文件级

函数级

块级

各种各样分类符的作用域及其生存期

内部函数和外部函数

 

第9章C++中的“大口袋”——数组

第10章让人迷惑的指针

地址

姓名

信息

1208

张三

2202

2202

李四

35

“房间号2202”是李四“变量”的指针。

如果有一个变量专门用来存放另一变量的地址(即指针)的,则称其为“指针变量”。

指针的类型是由其所指向的变量名的类型决定的。

指针变量的声明

数据类型*指针名

Int*pn,*pi;

float*pl;

获得地址并对指针变量进行初始化

&变量名

int*pa=&a;

int*pb=&b[3];

特殊的值——NULL

int*p=NULL;

C++是区分大小写的,NULL和null是不同的。

指针的使用

“*”为指针的间接访问操作符。

其作用是间接地访问指针指向的变量或者内存空间的数据。

*:

取内容

&:

取地址

*指针变量名

int*pn=&n;*pn和n等价了,*pn代表n。

指向指针变量的指针

inti=0;

int*p=&i;

int**pp=&p;

数组、字符串和指针

array[i]

*(array+i)

*(*(array+i)+j)

*(array[i]+j)

指针数组的声明:

数据类型*数组名【数组大小】;

常量指针与指针常量

●常量指针:

为了保证指针所指向的的数据之在使用指针间接访问时不被改变,相当于常量。

格式:

const数据类型*指针变量名

注意:

不能把常量的地址赋值给指针变量,否则也会产生编译错误。

●指针常量

指针本身是常量,即不能改变指针在定义以后指向的地址值。

格式:

数据类型*const指针常量名=&变量名;

int*constp=&i;

常量指针

保证通过指针访问的内存中的数据不能被修改

指针常量

保证指针本身不被修改

指针与函数

指针作为参数

同时由于指针是地址,所以调用函数时,系统是将实参的地址复制给对应的形参指针,使形参指针指向实参。

在被调用的函数中对形参指针指向的改变,将改变实参的值,同引用调用。

C++中灵活的空间——堆内存

动态分配内存

申请堆内存

new数据类型[表达式];

释放

delete[]指针;

 

第11章自己设计的数据类型——结构

结构的概念

结构类型的声明

struct结构名

{

成员列表

};

结构类型变量的定义

struct结构名变量名;

typedef原数据类型名新数据类型名

typedefstuctstudentSTUDENT;

对结构变量的赋值

STUDENTsd;

sd={800123,”LiMin”,’M’,16,89.5}

结构成员的访问

结构变量名.结构成员名

sd.id

特殊的自定义类型——枚举类型

定义:

enum枚举类型名{枚举值类列表}

枚举变量声明:

枚举类型名变量名;

结构类型的数组和指针

结构数组的声明:

struct结构名结构数组名;

structstudentsdArray[3];

访问:

sdArray[2].name;

结构指针:

struct结构名*指针名;

STUDENT*p=NULL;

STUDENTsd={800123,”LiMin”,”M”,16,89.5};

p=&sd;

p->age=18;

结构与函数

结构作为参数

1、

传数值调用形参的改变不影响实参

2、传地址调用将影响实参

3、引用调用

结构作为返回值

结构中的结构

指针变量作为结构成员

结构变量作为结构成员

第12章C++的预处理程序指令

C++中的预处理功能主要是指可以在C++源程序中包含各种编译命令,用这些编译命令在代码编译前执行,所以这些命令被称为预处理命令。

#include系统文件建议使用

#include“filename”自定义文件建议使用

这两种形式的差别在于与处理器查找要包含的文件的路径不同。

Ø文件包含命令

Ø条件编译命令

Ø宏定义命令

简单的字符串替换

宏定义

#define宏名字符串

 

取消宏定义#undef宏名或者宏函数名

定义宏函数:

#define宏函数名(参数表)字符串

#defineADD(x,y)x+y

条件编译

原文件中的某些编译代码要在一定的条件下才参与编译,如果条件不满足,则不编译。

ifdef-else-endif格式

#ifdef标识符

代码段1

#else

代码段2

#endif

#ifdef标识符

代码段1

#endif

ifndef-else-endif

#ifndef标识符

代码段1

#else

代码段2

#endif

if-else-endif

#if常量表达式1

代码段1

#elif常量表达式2

代码段2

……

#elif常量表达式n

代码段n

#else

代码段n+1

#endif

头文件的编写

避免重复定义,在type.h中定义

#ifndef_TYPE_H_

#define_TYPE_H_

//TYPE.h中的代码段

#enddef

_TYPE_H_已经定义过再次包含type.h时的代码段不会被编译。

 

C++的新特性

第13章类

对象=算法+数据结构

程序=对象+对象+对象……

类的声明

头文件干什么

类的实现

源文件怎么干

类的声明

class类名

{

成员函数的声明

数据成员的声明

};

一般情况下,采用C字母开头的字符串作为类名

对象的声明

类名对象名;

类名对象名1,对象名2……,对象名n;

对象成员的访问

对象名.数据成员名

对象名成员函数名(参数表)

指向对象的指针

对象指针名->数据成员名

对象指针名->成员函数名(参数表)

CSaving*pSaving;//CSaving类中的对象指针pSaving

pSaving=&saving;//对象指针pSaving指向saving对象

pSaving->accordingld;//指针pSaving所指向的对象中的成员。

类的数据成员

声明

class类名

{

数据类型数据成员名;

};

类的成员函数

声明

class类名

{

数据类型成员函数名;

}

成员函数的实现

成员函数的重载

给成员函数的参数设置默认值

类对成员的访问控制

public

可以由程序中任意函数访问

protect

只能被基类的成员函数和友元以及派生类的成员函数和友元访问

private

成员隐式的声明只能被基类的成员函数和友元函数访问

第14章类中特殊的函数与常类型

对象的创造者——构造函数

对象的毁灭者——析构函数

类中的常类型类名const对象名

const类名对象名

第15章类与对象的各种指针和引用

对象指针作为函数的参数

对象引用作为函数的参数

对象数组

子对象与堆对象

如果一个类中的成员是另一个类的对象时,称这个对象是子对象。

堆对象:

可以在程序运行时,随时创建和删除,满足实时的程序要求。

堆内存

创建:

new类名(参数名);

new类名[数组大小];

学习删除堆对象并综合练习堆对象的创建、删除

delete指向堆对象的对象指针;

delete[]指向堆对象数组的对象指针;

第16章共有结点、友元与操作符

类是生成对象的模板,但每个由类创建的对象都有独立存储空间,所以对象的数据成员的值各不相同。

类的所有对象在类的范围内共享一些成员,这些成员不属于任何对象,而是属于类的,成为类的共有结点。

静态数据成员

class类名

{

static类型数据成员名;

};

静态成员的初始化只能在类体外

数据类型类名:

静态数据成员名=数据值;

静态成员函数声明

class类名

{

public:

static数据类型函数名(参数表);

};

调用

类名:

静态成员函数名(参数表);

this指针

友元函数的声明

class类名

{

public:

friend函数名(参数表);//友元函数,定义在类体外

};

对友元函数的调用是直接调用的

友元函数中能访问类的私有成员

如果任务与单个对象密切相关,就使用成员函数。

如果任务涉及多个对象,而且对象均匀的使用,就使用非成员函数。

友元类

一个类作为另一个类的友元,这个类的所有成员函数都是另一各类的友元函数

破坏了类的封装性和隐藏性,不推荐使用。

多功能的操作符重载操作符

class类名

{

数据类型operator操作符(参数表);

};

文件输入输出对象的使用

 

共同体

union共同体名

{

数据类型数据名

数据类型数据名

}变量名;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2