[发明专利]C语言程序设计中基于对象编程的方法及系统无效
申请号: | 201210537010.X | 申请日: | 2012-12-11 |
公开(公告)号: | CN102981885A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 肖波 | 申请(专利权)人: | 中国工程物理研究院流体物理研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 621900 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 语言程序设计 基于 对象 编程 方法 系统 | ||
1.一种在C语言程序设计中基于对象编程的方法及系统,包括:
A、记录函数返回对象(101)首地址的地址栈(102)和地址栈操作函数(103);
B、基于地址栈(102)和地址栈操作函数(103)来定义新的对象类型的对象定义模板(104);以及
C、基于地址栈(102)、地址栈操作函数(103)和对象定义模板(104)来定义新的对象操作函数的函数定义模板(105)。
2.如权利要求1所述的系统,其特征在于,模块A中定义的地址栈(102)只允许外部程序通过地址栈操作函数(103)来访问。地址栈操作函数包括:
A、入栈函数,用于将一个函数返回对象的首地址压入地址栈顶部;
B、出栈函数,用于将一个函数返回对象的首地址从地址栈中取出;
C、判断函数,用于判断一个对象的首地址是否在地址栈中;
D、保护函数,用于在地址栈顶部压入一个结点,以保护函数内部的对象操作函数的调用;
E、去保护函数,用于取出地址栈顶部的结点,以解除保护;
F、接收函数,用于接收一个没有其它函数来接收的函数返回对象;
G、回收函数,用于在函数体内部回收属于函数返回对象的函数输入参数。
3.如权利要求2所述的系统,其特征在于,回收函数包含一系列的函数,分别回收个数不同的参数,并且可根据需要扩充。
4.如权利要求1所述的系统,其特征在于,还包括编程者将模块B中的对象定义模板(104)拷贝至自己的程序中,将模板中的默认对象名称替换为新对象的名称,将对象中的成员变量名称替换为新对象的成员变量名,删除不需要的成员变量,或仿照现有的成员变量增加新的成员变量。以此方式定义新的对象。
5.如权利要求4所述的系统,其特征在于,还包括将模板中的默认对象名称替换为新对象的名称时,模板中自动为该对象类型定义更高级的由该对象构成的数组对象和链表对象。
6.如权利要求4所述的系统,其特征在于,还包括对象定义模板中的成员分为两种,一种是C语言中规定的简单类型变量或用户自定义的简单结构体类型变量,另一种是用户自定义的对象类型变量。
7.如权利要求4所述的系统,其特征在于,还包括所定义的新对象具有九个标准函数:构造函数、初始化构造函数、释放函数、函数返回函数、直接赋值函数、释放赋值函数、克隆函数、值拷贝函数,屏幕输出函数。
A、构造函数或初始化构造函数用于给一个空的指针变量构建对象实体;
B、释放函数用于显示地释放一个不再需要的对象资源;
C、函数返回函数用于在需要返回一个对象类型返回值的函数体内部代替常规的return函数进行返回;
D、直接赋值函数用于将一个函数返回对象赋值给一个空的指针变量;
E、释放赋值函数用于将一个函数返回对象赋值给一个已指向对象实体的指针变量;
F、克隆函数用于从一个已由指针变量所指向的对象实体克隆出一个新的相同的实体;
G、值拷贝函数用于在两个类型和大小一样的实体之间进行值拷贝;
H、屏幕输出函数用于在屏幕终端查看该对象。
8.如权利要求1所述的系统,其特征在于,还包括编程者按照模块C中的函数定义模板(105)所规定的结构定义新的对象操作函数。
9.如权利要求8所述的系统,其特征在于,函数具有对象类型的输入参数或者(和)对象类型的返回值。该函数定义模板由多个子块构成:
A、函数功能代码块,与函数功能有关的具体代码写在此区域;
B、函数功能代码块由权利要求2所述的保护函数和去保护函数上下紧贴;
C、保护函数上面是一个可选的参数检验块,用于检验函数的输入参数是否符合要求;
D、去保护函数下面是一个资源回收块,用于回收属于函数返回对象的函数参数以及在函数体内部定义的临时对象;
E、资源回收块下面是对象返回语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工程物理研究院流体物理研究所,未经中国工程物理研究院流体物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210537010.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于GPU的粒子系统优化
- 下一篇:一种利用谷歌地球进行小流域划分的方法