- 11
- 0
- 约6.02千字
- 约 45页
- 2017-04-04 发布于湖北
- 举报
编译器的设计与实现--类与对象
编译器的设计与实现 制作: 张 云 时间:2008-03 课程描述 目标:编译器的设计与实现 方法: 给定语言特性,限定目标机器模型,实现该语言的编译器; 添加新的语言特性,对编译器做相应的修改。 语言 进一步的扩展 加入对象 目标: 在简化的C的基础上增加对象的支持。 问题:什么是对象? 对一个程序员来说,对象就是一个带有相关语义学的存储区域。(C++ FAQ) 加入对象要解决的问题 1 要处理什么样的对象? 2 对象数据存放在何处?(对象模型的建立) 3 对象支持哪些操作? 4 实现 1处理什么样的对象 定义对象:将数据和操作封装在一起 没有继承 没有多态 没有指针,完全为引用(为了实现简单) 2对象数据应该存放在何处 方法一:类似于程序中局部变量全局变量的存储,将对象的数据存放在栈或静态存储区域中。 方法二:在堆上动态创建对象 比较 对象数据应该存放在何处 我们采用的方法: 参照的设计,对象都分配在堆上,仅仅声明并不创建对象;当使用了new命令才构造对象。 Point p; //对象声明 P=new Point(); //对象的创建 示例 类声明: class Point { int x; int y; int z; void Init(int a, int b , int c) { x = a; y
原创力文档

文档评论(0)