[發明專利]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.szxzyx.cn/pat/books/201210537010.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于GPU的粒子系統優化
- 下一篇:一種利用谷歌地球進行小流域劃分的方法





