清华大学c讲义郑莉第5章数据的共享与保护.pptVIP

  • 14
  • 0
  • 约1.88万字
  • 约 76页
  • 2017-07-17 发布于四川
  • 举报

清华大学c讲义郑莉第5章数据的共享与保护.ppt

清华大学c讲义郑莉第5章数据的共享与保护

将变量和函数限制在编译单元内 使用匿名的命名空间:在匿名命名空间中定义的变量和函数,都不会暴露给其它的编译单元。 namespace { //匿名的命名空间 int n; void f() { n++; } } 这里被“namespace { …… }”括起的区域都属于匿名的命名空间。 * 5.6多文件结构和编译预处理命令 —— 5.6.1 C++的一般组织结构 5.6.3 标准C++库 标准C++类库是一个极为灵活并可扩展的可重用软件模块的集合。标准C++类与组件在逻辑上分为6种类型: 输入/输出类 容器类与ADT(抽象数据类型) 存储管理类 算法 错误处理 运行环境支持 * 5.6多文件结构和编译预处理命令 5.6.4 编译预处理 #include 包含指令 将一个源文件嵌入到当前源文件中该点处。 #include文件名 按标准方式搜索,文件位于C++系统目录的include子目录下 #include文件名 首先在当前目录中搜索,若没有,再按标准方式搜索。 #define 宏定义指令 定义符号常量,很多情况下已被const定义语句取代。 定义带参数宏,已被内联函数取代。 #undef 删除由#define定义的宏,使之不再起作用。 * 5.6多文件结构和编译预处理命令 条件编译指令——#if 和 #endif #if 常量表达式 //当“ 常量表达式”非零时编译 程序正文 #endif ...... * 5.6多文件结构和编译预处理命令 —— 5.6.4 编译预处理 条件编译指令——#else #if 常量表达式 //当“ 常量表达式”非零时编译 程序正文1 #else //当“ 常量表达式”为零时编译 程序正文2 #endif * 5.6多文件结构和编译预处理命令 —— 5.6.4 编译预处理 条件编译指令——#elif #if 常量表达式1 程序正文1 //当“ 常量表达式1”非零时编译 #elif 常量表达式2 程序正文2 //当“ 常量表达式2”非零时编译 #else 程序正文3 //其他情况下编译 #endif * 5.6多文件结构和编译预处理命令 —— 5.6.4 编译预处理 条件编译指令(续) #ifdef 标识符 程序段1 #else 程序段2 #endif 如果“标识符”经#defined定义过,且未经undef删除,则编译程序段1,否则编译程序段2。 * 5.6多文件结构和编译预处理命令 —— 5.6.4 编译预处理 条件编译指令(续) #ifndef 标识符 程序段1 #else 程序段2 #endif 如果“标识符”未被定义过,则编译程序段1,否则编译程序段2。 * 5.6多文件结构和编译预处理命令 —— 5.6.4 编译预处理 5.7综合实例——个人银行账户管理程序 在上一章综合实例的基础上对程序作如下改进: 为SavingsAccount类增加一个静态数据成员total,用来记录各个账户的总金额,并为其增加相应的静态成员函数getTotal用来对其进行访问。 将上一节综合实例程序中SavingsAccount类的诸如getBalance、accumulate这些不需要改变对象状态的成员函数声明为常成员函数。 将在上一章综合实例的基础上对程序结构进行调整:建立两个新的文件account.h和account.cpp,分别存放SavingsAccount类的定义和实现。 * //account.h #ifndef __ACCOUNT_H__ #define __ACCOUNT_H__ class SavingsAccount { //储蓄账户类 private: int id; //账号 double balance; //余额 double rate; //存款的年利率 int lastDate; //上次变更余额的时期 double accumulation; //余额按日累加之和 static double total; //所有账户的总金额 //记录一笔帐,date为日期,amount为金额,desc为说明 void record(int date, double amount); //获得到指定日期为止的存款金额按日累积值 double accumulate(int date) const { return accumulation + balance * (date - lastDate); } * 5.7综合实例——个人银行账户管理程序 public: //构造函数 SavingsAcc

文档评论(0)

1亿VIP精品文档

相关文档