1 / 359
文档名称:

程序设计实习总结.pdf

格式:pdf   页数:359页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

程序设计实习总结.pdf

上传人:小马皮皮 2014/11/11 文件大小:0 KB

下载得到文件列表

程序设计实习总结.pdf

文档介绍

文档介绍:程序设计实****br/> 第二十二讲总结
田永鸿
httpp//://ai. pku. /c pp2009
.cn/jiaoxue-CPP/2009/
提纲
† 类和对象
† 运算符重载
† 类的继承
† 虚函数和多态
† 函数模板、类模板和String类
† 输入输出流和文件操作
† 标准模板库
北京大学《程序设计实****课程 2
一、类和对象
(第十一/十二讲)
北京大学《程序设计实****课程
内容提要
† 类的定义、成员属性、成员函数、类的作用域
† 对象的创建、存储、访问
† 构造函数、析构函数
„ 定义、调用时机、在数组中使用构造/析构函数
† 特殊的构造函数:复制构造函数、转换构造函数
† 类的特殊成员:static成员、const成员、引用成员、友
元、this指针
† 特殊对象:const对象、成员对象与封闭类(对象初始
化列表)
北京大学《程序设计实****课程 4
类类象概与对象的概念
† 通过类,可以定义变量。类定义出来的变量,
也称为类的实例,就是我们所说的“对象”
† C++中,类的名字就是用户自定义的类型的名
字。可以象使用基本类型那样来使用它。
† 和结构变量一样,对象所占用的内存空间的大
小,等于所有成员变量的大小之和。
† 每个对象各有自己的存储空间。一个对象的某
个成员变量被改变了,不会影响到另一个对象。
北京大学《程序设计实****课程 5
如何使用类的成员变量和成员函数
† 用法1:
CRectangle r1,r2;
= 5;
(5,4);
„ Init函数作用在 r2 上,即Init函数执行期间访问的 w
和 h是属于 r2 这个对象的, t 不会影响到 r1
† 用法2. 指针->成员名
CRec tang le r 1,r 2;
CRectangle * p1 = & r1;
CRectangle * p2 = & r2;
p1->w = 5;
p2->Init(()//5,4); //Init作用在p2指向的对象上
北京大学《程序设计实****课程 6
如何使用类的成员变量和成员函数
† 用法3:
CRectangle r2;
CRectangle & rr = r2;
= 5;
((,);5,4); // rr的值变了,r2的值也变
void PrintRectangle(CRectangle & r)
{
cout << () << ","<< ();
}
北京大学《程序设计实****课程 7
引用的概念
† 类型名& 引用名= 某变量名;
„ 上面的写法就定义了一个引用,并将其初始化为引
用某个变量。
„ 某个变量的引用,和这个变量是一回事,相当于该
变量的一个别名
int n = 4;
int & r = n;
r = 4; 定义引用时一定要将其初始
cout << r; //输出 4; 化成引用某个变量,不初始
cout << n; //输出 4; 化编译不过。
n = 5; 引用只能引用变量,不能引
cout << r; //输出5 用常量和表达式
北京大学《程序设计实****课程 8
引用的作用
† C语言中,要写交换两个整型变量值的函数,
只能通过指针
void swap( int * a, int * b)
{
int tmp;
tmp = * a; * a = * b; * b = tmp;
}
int n1, n2;
swap(& n1,& n2) ; // n1,n2的值被交换
北京大学《程序设计实****课程 9
引用的作用
† 有了引用后:
void swap( int & a, int & b)
{
int tmp;
tmp = a; a = b; b = tmp;
}
int n121, n2;
swap(n1,n2) ; // n1,n2的值被交换
北京大学《程序设计实****课程 10