C编f分 函数原平与头文件 数据括声明与作用回 跳、对象,沟造函数与祈构数 轴输入/输出 函数,参数传递与函数返回值 函数重载与操作行重载 友元函数与内联函数 结构联合与类 模板类
函数原型与头文件 数据声明与作用域 类、对象、构造函数与析构函数 输入/输出 函数、参数传递与函数返回值 函数重载与操作符重载 友元函数与内联函数 结构、联合与类 模板类
函数原型 include "iostream. h Include" utility. h prototype include"life. h void main( I void instructionSON ■■■■■■ 包含函数 包含类Le的原型声明 函数 instructions() 的原型声明
函数原型 prototype #include "iostream.h" #include "utility.h" #include "life.h" void main( ) { void instructions( ); …… } 包括iostream的 所有内容 包含函数 user_says_yes() 包含类的原型声明 Life的原型声明 函数instructions( ) 的原型声明
★头文件名字的后缀用“h表示,程序文件名 字的后缀用“c或“cpp”表示 ★ iostream. h:是C++输入输出流库的所有类 定义,其中有虚基类io、输出类 ostrean(提 供向流中插入数据的有关操作)、输入类 istream(提供从流中提取数据的有关操作) cout是 ostream类的对象实例);而 cin是 istream类的对象实例)。 ★可通过“# include”定向到该原型的声明文件 取得对原型的访问性
★头文件名字的后缀用“.h”表示,程序文件名 字的后缀用“.c”或“.cpp”表示。 ★ iostream.h:是C++输入输出流库的所有类 定义,其中有虚基类io、输出类ostream(提 供向流中插入数据的有关操作)、输入类 istream (提供从流中提取数据的有关操作)。 cout 是 ostream 类的对象(实例);而 cin 是 istream 类的对象(实例) 。 ★可通过“# include ”定向到该原型的声明文件, 取得对原型的访问性
C++的数据声明 C++的数据声明将数据名与数据类型联系起来其 主要形式有 常数值:如25,13.4,“ value is”,它们的 内容保持不变。 变量:数据类型的实例,在程序执行时可以 改变其内容。 常量:数据声明时在变量名前冠以保留字 const,如 const int maxrow=20,可定 义一个常量。其内容在声明时给定,在声 明它的程序运行时不能再赋值
C++的数据声明 C++的数据声明将数据名与数据类型联系起来其 主要形式有: •常数值:如25, 13.4, “value is”, 它们的 内容保持不变。 •变量:数据类型的实例, 在程序执行时可以 改变其内容。 •常量:数据声明时在变量名前冠以保留字 const,如 const int maxrow = 20, 可定 义 一个常量。其内容在声明时给定,在声 明它的程序运行时不能再赋值
枚举:是声明一个整型常数序列的方式。例 如,在程序开头做如下声明 enum Boolean False, True y 则建立一个 Boolean类型。 False,True都 是 Boolean类型整型常数默认值0和1。 指针:存放对象的存储地址,例如 inti= 5: ntnp;∥ np=&i;∥把整型变量i的地址赋给它 ∥np成为指向整型变量i的指针 intk=np;∥k中存入np所指地址的内容
•枚举:是声明一个整型常数序列的方式。例 如, 在程序开头做如下声明 enum Boolean { False, True } 则建立一个Boolean类型。False, True 都 是Boolean类型整型常数, 默认值 0 和 1。 •指针:存放对象的存储地址,例如 int i = 5; int *np; // np = &i; //把整型变量 i 的地址赋给它 //np 成为指向整型变量 i 的指针 int k = *np; //k中存入np所指地址i的内容
枚举:是声明一个整型常数序列的方式。例如 在程序开头做如下声明 把整型变量 enum Boolean[ False, True 的地址赋给它 指针p的 则建立一个 Boolean类型。厂s日rue、指针q与 Boolean类型整型常数只认值和 指针:存放对象的存储地址, int i=5: p=&i; gP, int k=*p
•枚举:是声明一个整型常数序列的方式。例如, 在程序开头做如下声明 enum Boolean { False, True } 则建立一个Boolean类型。False, True 都是 Boolean类型整型常数, 默认值 0 和 1。 •指针:存放对象的存储地址,例如 int i = 5; int *p, *q; p = &i; q=p; int k = *p; p,q为一个 指向整型量 的指针 把整型变量 i 的地址赋给它 k中存入p所指 地址的内容 相当于k=i 指针p的值赋给 指针q与p都指向
引用:它用来给一个对象担/A 例如mt=5;mnt、F9E=98P8 j代表i的一个替代名。当/的变时 j(〕的值也跟着改变。我们来 单例子。 void maino [int 1=7, &j=i; cou"="<“="<endl; cout<"i="<<++i; cout<<"j="≤j≤<endl: cout<<j=”<<++j; cout<<<< i="<<k<<end
•引用:它用来给一个对象提供一个替代的名字。 例如 int i = 5; int& j = i; 引用类型 j 代表 i 的一个替代名。当 I(j) 的值改变时, j(i)的值也跟着改变。我们来看一个简单例子。 void main() {int I = 7, &j= i; cout<<"i= "<<i<<“j= "<<j<<endl; cout<<"i= "<<++i; cout<<" j= "<<j<<endl; cout<<"j= "<<++j; cout<< <<" i= "<<i<<endl; } i= 7 j= 7 i= 8 j= 8 j= 9 i= 9
C++的作用域 在C++中,每个变量都有一个作用城。区分一个变 量时要同时考虑变量名及其作用域。 在函数定义中声明的变量仅能在该函数内部有效使 用 在类定义中声明的变量仅能在该类內部有效使用。 在一个段中声明的名字也仅能在该段及其子段中有 效使用。 在整个程序各处都能访问的变量叫做全局变量。如 果一个全局变量在文件1中声明,在文件2中使用, 那么在文件2中必须使用保留字 extern对该变量进 行声明
C++的作用域 •在C++中, 每个变量都有一个作用域。区分一个变 量时要同时考虑变量名及其作用域。 •在函数定义中声明的变量,仅能在该函数内部有效使 用。 •在类定义中声明的变量,仅能在该类内部有效使用。 •在一个段中声明的名字,也仅能在该段及其子段中有 效使用。 •在整个程序各处都能访问的变量叫做全局变量。如 果一个全局变量在文件1中声明,在文件2中使用, 那么在文件2中必须使用保留字extern对该变量进 行声明
如果一个段中的局部变量与一个全局变量同名,且 还要在此段中使用该全局变量,此时需利用域操作 符∷访问该全局变量
•如果一个段中的局部变量与一个全局变量同名,且 还要在此段中使用该全局变量,此时需利用域操作 符::访问该全局变量
C++的类 C++的核心部分是类的定义。类定义体现了抽象数 据类型的思想。为达到信息隐蔽的原则。规定对类 的成员有三级存取 共(公)有(pub|ic) 私有( private) 保护( protected 在 public域中声明的数据成员和函数成员成员函 数),程序中其它类的对象或操作都能请求该类的 对象执行它们,因此这些数据成员和成员函数构成 类的界面(也有书称为接口 interface)部分
C++的类 • C++的核心部分是类的定义。类定义体现了抽象数 据类型的思想。为达到信息隐蔽的原则。规定对类 的成员有三级存取: ◆ 共(公)有(public) ◆ 私有(private) ◆ 保护(protected) •在 public 域中声明的数据成员和函数成员(成员函 数),程序中其它类的对象或操作都能请求该类的 对象执行它们,因此这些数据成员和成员函数构成 类的界面(也有书称为接口 interface)部分