C++物件导向程式语言

上传人:lx****y 文档编号:243010496 上传时间:2024-09-13 格式:PPT 页数:27 大小:205KB
返回 下载 相关 举报
C++物件导向程式语言_第1页
第1页 / 共27页
C++物件导向程式语言_第2页
第2页 / 共27页
C++物件导向程式语言_第3页
第3页 / 共27页
点击查看更多>>
资源描述
,按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,C+ 物件導向程式語言,對象:,程式設計的初學者,(第一次接觸C或C+的學員),課程網頁位址:,1,Books,基礎C+程式設計,視窗程式設計基礎,應用程式設計開發指南,MFC/,VCL,.Net Framework,視窗的原理,訊息的傳遞,按鈕,控制項,Process,的原理,如何寫,multithread,如何使用,DLL,與,memory,如何管理大量資料,Stack,LinkList, Hash,Heap,等觀念,討論各種方法的優劣,進階的資料結構,Graph algorithm,2,Why C+ : 我們得到了甚麼好處?,速度,: C+ Basic Java JFC,物件導向的特性,:,更有彈性的設計方法,視窗程式設計,: Windows , X Window,*,驅動程式設計,:,VxD, WDM,大量的資源,:,網路上有大量的原始碼供你參考,.,作業系統,Linux,工具軟體,GNU,StarOffice,JPEG, Wavelet, GIF,影像檔,(,avi,),瀏覽器,Netscape,的,原始碼,Mp3,原始碼,學習會更快速,: Java, MFC, VCL, Flash,C# (.Net Framework),C#, .Net Framework,3,C,語言,以程序為基礎的程式設計,(Procedural-Based,Programming),C+,語言,延伸自,C,語言,.,以物件為基礎的程式設計,(Object-Based,Programming),物件導向程式設計,(Object-Oriented Programming),C/C+程式語言簡介,4,程序性語言示意圖,Global data,Global data,Function,Function,Function,有何不同 ?,5,物件導向語言示意圖,Object,Data,Member Function,Object,Data,Member Function,Object,Data,Member Function,6,好用的C+,運算子重載 (operator overloading),假設: A = 陣列 B=陣列,C: Sum=ADD(A,B);,C+: Sum=A+B;,重新定義 + - * /,7,好用的C+,模板 (Template) & function overloading,假設: float A,B; / 浮點數,int intA,intB; / 整數,C: fSum=floatfun(A,B); /浮點數版本,iSum=intfun(intA,intB); /整數版本,C+: fSum=fun(A,B);,iSum=fun(intA,intB);,自動產生程式,8,好用的C+,繼承與virtual function,使你的程式不受限於開發工具與環境,問題: 我要選擇 MFC 還是 BCB的VCL ?,基礎物件,(數位浮水印物件),數位浮水印物件,MFC版本,數位浮水印物件,VCL版本,數位浮水印物件,Linux版本,自動呼叫正確的程式,9,Anjuta: 開發,Linux,平台視窗應用程式,網址:,C+開發工具,Dev-C+: 可開發,Windows程式, DirectX,(使用 GNU Compiler編譯),網址:,Free Software,一堆免費的 compiler 列表,10,C+ 程式語言初探,學習重點,Hello world,Function,Namespace,的觀念,巨集定義,條件式編譯,11,開始寫程式,*HelloWorld 範例程式,操作 VC,#include ,#include “c:testJing.h”,using namespace std;,int main(),cout “Hello world” ;,return 0;,12,程式檔案名稱=主檔名+副檔名,*.h = 一般為C或C+的header file.,*.C或*.cpp = C+的程式檔,C+程式檔案,#incldue ,using namespace std;,int main(),cout “Hello world” ;,#include 為前置處理器將,iostream檔案的內容讀進來.,因為cout被定義在std的,namespace 中,故有必要使用,using指定std,13,跳脫序列 (Escape Sequence),常見的跳脫序列,說明,b,倒退一個字元.,n,換行.,r,歸位,也就是游標移到最前面.,t,定位,相當於Tab鍵.,即這個字元.,“,即“這個字元.,cout “Hello world n” ;,換行,14,建立 Function,把一堆statements放到一個區塊中,該區塊稱為函式,int MyFun1() /,函式名稱,int x = 0 ; /宣告statement,x = x +1; /指派statement,cout “,x的值=,” x ; /輸出statement,return x;,/傳回x的內容,傳回值的型態 函式名稱 參數列 Body,Prototype,15,呼叫自訂 Function,C+程式,永遠從 main() 開始執行,int MyFun1();,int main(),int location;,location=MyFun1();,return 0;,3.傳回 0 ,告訴系統main成功完成任務,.,所以程式一定要有 main (),2.呼叫,宣告變數,儲存呼叫function 的結果,.,1.函式的,Prototype,16,int MyFun1(),MyFun1.cpp,#include “MyFun1.h”,int main(),MyFun1();,Main.cpp,int MyFun1();,MyFun1.h,函式的,Prototype,函式的實作,函式的呼叫,檔案配置,練習: 計算會傳回1,加到10結果,的function,17,Hello.cpp,前置處理器,處理,#define,等,編譯程式,Object Code,產生 obj 檔,兩階段建立執行檔,第一階段: 編譯 (Compiling),18,Object Code,Object Code,Object Code,Link 所有的 obj code,處理,其他未處理的,symbol,產生 exe 執行檔,兩階,建立執行檔,第二階段:,鏈結 (Linking),19,Namespace 補充: 使用namespace,#include ,void main(),std,:cout “Hello World”,std,:endl;,#include ,using namespace std;,void main(),cout “Hello World” endl;,20,Namespace 補充: 如何建立自己的namespace,#incldue ,using namespace std;,namespace,Tom ,int Sum1To3(),return 1+2+3;,馬上看範例:*stdHelloWorld.cpp,void main(),Tom:Sum1To3();,21,多註解的example,/ 為單行註解的符號.,/* */ 為多行註解的符號.,return 代表離開函數主體並傳回一個函數定義的回返值形態(return type).,int main(),return 0;,練習: 02DebugComm.dsw,22,C+關鍵字,C+關鍵字,:,已有固定用途,使用時要,避免重複,常見的關鍵字有:,int ,bool, float , return ,void, switch , if , else , case , while , default , const , class , this , for , break , continue , try , catch , do , struct 等等.,試試看,23,前置處理器指令(Preprocessor Directives),以一個#符號開頭,常見的前置處理器指令如下:,#include /引入必要的宣告與定義,ex,#define / 定義常數,範例在後面,#ifdef / 條件式編譯,#ifndef,#endif,24,#define,定義前置處理器的常數.,(習慣上是,全部大寫,的),常見的形式如下:,#define BOOK,#define BOOK 123,#define BOOK cout0 ? X:-(X),25,#ifdef,#ifndef,#endif,#ifdef DEBUG ,/ 若DEBUG有定義, 則編譯,#endif,#ifndef則是與#ifdef相反.,範例程式:IfdefDemo.cpp,練習: 03Debugifdef.dsw,26,End,27,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!