今天老师给我们讲解了:作用域与可见性,友元,编译预处理命令,多文件结构和工程。
一.作用域:是标识符(变量、常量、类、对象、函数等)的有效范围;
可见性:标识符是否可以引用的问题;
作用域可见性的一般规则:
标识符应声明在先,引用在后。
在同一作用域中,不能声明同名的标识符。
二.友元:是C++提供的一种破坏数据封装和数据隐藏的机制。
通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的private 和 protected信息。
可以使用友元函数和友元类。
为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。
(2)友元类:若一个类为另一个类的友元,则此类的所有成员都能访问对方类的私有成员。
声明语法:将友元类名在另一个类中使用friend修饰说明。
三.编译预处理命令
#include 包含指令,将一个源文件嵌入到当前源文件中该点处。
#include<文件名>,按标准方式搜索,文件位于C++系统目录的include子目录下
#include"文件名",首先在当前目录中搜索,若没有,再按标准方式搜索。
#define 宏定义指令:定义符号常量,#define PI 3.14
#undef,删除由#define定义的宏,使之不再起作用。
四.多文件结构
一个源程序一般至少分为三个源文件:
1.类声明文件(.h文件)
2.类实现文件(.cpp文件)
3.类的使用文件(main( ) 所在的.cpp文件)
利用项目Project来组合各个文件(.vcxproj)。
解决方案(.sln):它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中,他是一个或多个. vcxproj (项目)的集合。