1/16
文档分类:IT计算机

报告b程序b结构.ppt


下载后只包含 1 个 PPT 格式的文档,里面的视频和音频不保证可以播放,查看文件列表

特别说明:文档预览什么样,下载就是什么样。

下载所得到的文件列表
报告b程序b结构.ppt
文档介绍:
报告b程序b结构.ppt程序结构
Scoping(名的有效范围,可见性,域)
lifetime, 生存期
global objects and data sharing, 数据共享
static members, 静态成员
friends, 友元
const objects, 不可改变的量或成员
preprocessing, 预处理
multiple source files, 多源文件程序
.精品课件.
*

Scoping, 名的有效区域
block, {}块,在块内声明的objects在块内有效(循环,选择,函数,…)
类,一个类构成一个域,类成员可以自由访问别的成员,类外用class_name::member或object.member。
文件域:一个源文件中的声明在本文件内有效
名只在被定义后的{}块内有效
形式参数,只在函数域内有效
.精品课件.
*

visibility(可见性)
名的可见性(visibility of identifier)
同一域内,不能同名(函数重载相当于不同的名)
不同域中可以同名,内层遮蔽外层
.精品课件.
*

生存期
内存中存在该object的时间
static,静态object和全局object:始终存在,从程序开始运行到结束
静态object除了可见性外,相当于全局object(生存期,初始化,再赋值)
dynamic,一般都是,从声明到本块结束
.精品课件.
*

数据共享
局部与全局(local & global objects)
局部:出现在{}块中的,只在该层{}块中有效
全局:所有{}块之外,属于整个源文件,在源文件内都有效,可以用来传递数据或者共享。最大的局部
不同文件中的数据共享, extern
.精品课件.
*

static members, 静态成员
类的静态数据成员始终有效。与该类对象无关,属于该类,不属于特定对象。
定义和初始化。只能全局初始化。 int Point::Count=0; main(){…}
静态函数成员,始终有效,不依赖该类对象。直接调用,用来处理静态成员 Point::GetC();
.精品课件.
*

指向类成员的指针
静态成员,同非类成员(普通全局对象/函数),指明类名 int * count = & Point::count; int (* func)() = Point::GetC;
非静态成员,在*ptr_name前加classname:: (不建议使用) int Point::*pcount = &Point::count; int (Point::*pgetc)() = Point::GetC;
.精品课件.
*

friends (友元, 特别授权)
根据封装的要求,类的数据成员一般都是私有的,外界不可直接访问,但为了方便,也可以特别授权某些函数或者类访问。
格式:在该类中说明被授权的函数或者类是friends (friends 加函数或类的声明)。
授权不能继承,不自动反向授权。
distance example
.精品课件.
*

constant objects, 常数对象
只可以在定义的时候初始化一次,不能在程序中赋值
常数对象只能调用常函数(由const修饰的函数),常函数是同名函数的重载。
常数成员,在某一对象中是常数,只能在构造函数中通过初始化列表初始化。
.精品课件.
*

源程序组织(makefile, projects)
完成一个任务的程序可以写成多个文件,通过project,makefile等文件组织起来。通过编译连接产生一个或多个执行文件(can make everything)。
Project,Makefile:定义一系列逻辑依赖关系,以及如何满足这些关系的操作。
一般把类,结构,函数,常数等的声明放到头文件中(.h),函数体,全局量放到.cpp文件中。.h文件需要用#include包含到.cpp文件中。
.精品课件.
*
内容来自淘豆网www.taodocs.com转载请标明出处.
相关文档
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wawasa1234
  • 文件大小205 KB
  • 时间2021-04-17