




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、論靜態成員在中的應用 論文關鍵詞C+ 靜態成員 共享 論文摘要C+類中的靜態成員是類中各個對象所共享的成員,從數據共享的角度出發,介紹靜態成員在類中實現數據共享的方法、作用。 C+中類的成員分為靜態數據成員和靜態成員函數。它的作用類似于全局變量,可以實現C+多個對象之間的數據共享,但全局變量在程序中的可操作性難于控制,經常會帶來不安全性,所以,考慮到程序的安全性,作者在本文講述了靜態成員在C+程序中的使用方法及作用。 一、靜態數據成員的應用 C+中的靜態數據成員是同一個類中所有對象所共享的成員,靜態數據成員中存放的是所有對象的值,不是某一個對象的值
2、,所以同一類中的每個對象的值都是一樣,但它的值也是可以改變的。通過下面的實例可以對以上的內容加以證實、說明靜態數據成員在C+類中的使用方法及作用。 (一)靜態數據成員的定義、初始化 靜態數據成員定義是以static關鍵字開始,后跟靜態數據成員類型符、變量名;例:staticints; (二)靜態數據成員的初始化 靜態數據成員的初始化是在類體外進行,初始化時不用加訪問權限符,但是靜態成數據成員是類的成員,所以在初始化時應指明該成員的類名;例如在類名為 Tstu的類中定義了一名為s整型靜態數據成員,則初始化格式為:int Tstu:s =0; (三)靜態數據成員的引用實例 #include cla
3、ss Tstu/類的說明; public:/定義二個成員函數; Tstu(int a,int b); /定義構造函數,用來對數據成員賦初值; bb( ); private: int x,y;/定義二個數據成員; static int s;/定義一個靜態的數據成員,類Tstu定義結束; int Tstu:s=0; /靜態數據成員的賦值; Tstu:Tstu(int a,int b)/構造函數的實現部分; x=a;y=b; void Tstu:bb( )/成員函數的實現部分; s=s+x+y;cout<<”s=”<void main( )/主函數; Tstu t1(10,20),
4、t2(5,3); t1.bb( );t2.bb( ); 對于以上的程序,類Tstu中的t1對象調用成員函數bb( )之后,靜態數據成員s中的值是30,那么對象t2在調用前,對于對象t2,s中的值已是30,因為s中的值是每個對象所共享的,t2對象調用后,s中最后的值是38。 我們再來看以下代碼: #include class Ta public: Ta()n+; /定義構造函數,當定義對象時n的值自動加1; Ta()n-; /定義析構函數,釋放對象時n的值自動減1; int sum()return n; /成員函數sum( )用來返回靜態數據成員n的值; private: static int
5、n; int Ta:n = 0;當創建該類對象實體時,由于n為所有對象所共享的數據,從而可以統計當前創建的所有對象的數量。這一技巧可以運用到很多方面,如對象實體的互斥關系,引用計數等相關方面。C+類中的靜態成員有一個非常好的功能,那就是無論類定義了多少個對象,這些對象始終都共同使用這一個靜態成員,在使用時需要注意的是類靜態數據成員除了在類中形式說明之外,必須在使用前在對象說明之外作定義性說明,主要是為了給類中靜態數據成員分配內存。通過這個實例可更加清晰的解述靜態數據成員在類中實現數據的方法、作用。 二、靜態成員函數的應用 靜態成員函數與靜態成員的特性相似,屬于類的成員,不是對象的成員。在靜態成
6、員函數的實現中,可以直接引中類中說明的靜態成員。下面通過具體的實例說明靜態成員函數的應用。 我們可以通過以下的代碼來看看靜態成員函數的應用: #include class T public: T(int a)x=a;y=y+a; Static void f1(T t);/定義靜態成員函數; Private: int x; static int y; void T:f1(T t) cout<<”x=”< cout<<”y=”<int T:y=0; void main( ) T m1(2),m2(4); T:f1(m1);T:f1(m2); 以上程序的執行結果分
7、別是x=2,y=6和x=4,y=6; 在T類中,定義了靜態成員函數f1( ),在該函數的實現中,可以直接引有類的靜態數據成員,但引用非靜態成員是通過對象進行的,對于類靜態函數成員而言,則該函數只能涉及其它類靜態成員時,否則該函數不具有任何確切含義,因為不同對象非靜態成員取值可能不同。 三、總結 本文是筆者根據自己多年教學體會及經驗,用簡單的例子和簡練的敘述講解C+中靜態成員在實現數據共享中的應用,作用。文中如有不足之處,望各位讀者批評指正。 參考文獻: 1張素琴.C+程序設計語言M.北京:清華大學出版社.1995. 2呂軍,楊琦等.Visual C+與面向對象程序設計教程M.北京:高等教育出版
8、社.2006.沒有找到你想要的論文?你還想要更優秀的論文? 本中心為碩士團隊,提供正規省級、國家級、核心期刊論文代寫代發服務。(服務流程查看) 誠信與高效的結合 職稱與課題的幫手 畢業與評估的保障 投稿:xnxszx 客服電話胥老師)在線QQ:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《護腎護健康》課件
- 《車輛識別代碼》課件 - 深入了解汽車的身份證號碼
- 《社區健康管理與發展》課件
- 《物業管理人員工作規范》課件
- 《探索教育原理》課件
- 《急性心力衰竭急救》課件
- 《禮儀與職業》課件
- 咸陽職業技術學院《動物遺傳學》2023-2024學年第二學期期末試卷
- 江蘇建筑職業技術學院《田徑教學與訓練Ⅱ》2023-2024學年第二學期期末試卷
- 2025年鞍山貨運資格證試題及答案
- DB33-1036-2021《公共建筑節能設計標準》
- 巖芯鑒定手冊
- 快速排序算法高校試講PPT
- 甘肅歷史與甘肅文化
- 工程勘察設計收費標準
- SAP航空行業數字化轉型解決方案(優秀方案集)
- 江蘇工業企業較大以上風險目錄
- 《村衛生室管理辦法(試行)》課件(PPT 49頁)
- 監理質量評估報告(主體分部)
- 鍋爐爆炸事故演練方案(模板)
- 人體紅外線感應報警器應用電子畢業設計論文
評論
0/150
提交評論