结构与C程式设计进阶.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《结构与C程式设计进阶.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程式 设计 进阶
- 资源描述:
-
1、講師:林業峻CSIE,NTU7/5,2010C+與資料結構1資料結構與C+程式設計進階大綱使用類別(Class)建立資料結構使用繼承(Inheritance)建立資料結構 2類別(Class)類別class是C+中用來封裝資料的關鍵字,當您使用類別來定義一個物件(Object)時,您考慮這個物件可能擁有的屬性(Property)與方法(Method)成員n屬性是物件的靜態描述n方法是可施加於物件上的動態操作您使用類別定義出這個物件的規格書,之後就可依這個規格書製作出一個個的物件實例,並在製作過程中設定個別物件的專屬特性資料。要訣:n屬性(該類別的變數)要存放的資料(每個物件有自己的屬性)n方法
2、(該類別的函式)寫要執行的程式(用方法控制屬性)3如何設計類別?思考(以功能角度)n每個物件需要什麼資料?宣告屬性n每個物件需要什麼方法來操作資料?設計方法進階思考(以使用者角度)n如何讓使用類別宣告物件的人方便簡單使用。n如何避免使用類別宣告物件的人因用到不該用的資料而產生錯誤。4類別(Class)宣告一個類別(類似定義一個結構struct)語法:nclass 類別名稱public:類別名稱();/建構式,用來做物件的初始化類別名稱();/解構式,用來做物件的善後工作公開的方法或屬性;protected:/只有在同一繼承架構中可以使用的資料受保護的方法或屬性;private:/只有在此類別中
3、可以使用的資料私有的方法或屬性;5資料的權限三種資料的權限設定npublic:公開成員表示以下所定義的成員可以使用物件名稱直接被呼叫,稱之為nprotected:受保護成員表示以下所定義的成員只可在同一繼承架構下之類別中可以使用。nprivate:私有成員表示以下所定義的成員只可在自己的類別中可以使用。在類別封裝時,有一個基本原則是:資訊的最小化公開。如果屬性可以不公開就不公開。如果要取得或設定物件的某些屬性,也是儘量透過公開方法成員來進行。6建構式與解構式建構式(Constructor)n在定義類別時,您可以使用建構函式來進行物件的初始化。解構式(Destructor)n在物件釋放資源之前,
4、您也可以使用解構函式來進行一些善後的工作。7類別的方法之描述實作一個類別方法的內容(類似寫一個函式)除了寫在類別定義中,也可拿到類別定義以外的地方描述語法:n資料型態 類別名稱:方法名稱(參數1,參數2,參數n)程式碼;8物件的產生與使用使用類別定義物件(類似定義一個變數)語法:n類別名稱 物件名稱;n類別名稱 物件名稱(參數1,參數2,參數n);物件可透過.來使用或存取該方法或屬性(類似C語言的結構struct)若為物件指標,可透過-來使用或存取該方法或屬性 9範例:製作一個2D座標類別 10class Point2D public:Point2D();/建構式Point2D(int x,i
5、nt y);/可傳入初始值的建構式void set(int x,int y);/設定點座標void print();/印出點座標protected:int X;/X座標int Y;/Y座標;製作以下程式範例:Point2D.h:定義類別Point2D.cpp:設計類別的方法main.cpp:主程式 Point2D.h範例:製作一個2D座標類別 11#include using namespace std;#include Point2D.hPoint2D:Point2D()X=0;Y=0;Point2D:Point2D(int x,int y)X=x;Y=y;void Point2D:set(
展开阅读全文