迈向C++之路.ppt

迈向C之路

第十六章 邁向 C++ 之路 認識 C++ 學習 C++ 的輸入與輸出 學習函數的多載 學習物件導向程式設計的基本概念 認識C++ C++ 可看成是具備了物件導向的功能的 C 語言 第一個C++ 程式碼 下面的程式是用C++ 的語法寫出來的範例: 關於ANSI/ISO C++的標準 新版的ANSI/ISO C++ 於1997年頒佈 捨棄標頭檔的副檔名.h。 include iostream - 沒有副檔名.h 把原先從C語言移植到C++ 的函數庫,在其標頭檔名稱之前加上小寫的字母c。 math.h - cmath 將所有的函數、類別與物件名稱放在特定的名稱空間std內,所以必須利用using namespace來設定名稱空間為std。 using namespace std 由鍵盤輸入資料 下面的程式是由鍵盤輸入兩個數字: 布林型態 C++ 有 bool 型態,C 則沒有 布林(boolean)型態的值只有 true 和 false 兩種 布林變數的使用範例 變數的位置 C++ 可以在迴圈裡宣告變數 函數的多載 多載(overloading) 編譯器便會根據引數的個數與型態,自動執行相對應的函數 函數多載的範例 star() 函數多載的範例 認識類別 下圖是一個典型的視窗 利用結構來定義視窗 利用類別來定義視窗 以結構定義視窗 (1/2) 下面是以結構元表示視窗的範例: 以結構定義視窗 (1/2) 類別的基本概念 一個類別包含有「資料成員」與「函數成員」 資料成員(data member): 視窗的「寬」與「高」這兩個屬性可選為「視窗」類別的資料成員 函數成員 (function member) 計算面積的函數可納入視窗類別裡,變成類別的函數成員 類別的封裝 將資料成員 width 與height,以及函數成員 area() 封裝在一起,就可建立「視窗類別 」 定義類別與宣告類別型態的變數 建立視窗物件 CWin win1,win2; // 宣告CWin類別型態的變數win1與win2 存取物件的內容 存取物件裡的某個資料成員: 物件名稱.資料成員 完整類別的程式範例 (1/2) 下面是視窗類別的完整程式: 完整類別的程式範例 (2/2) 函數成員的相互呼叫 (1/2) 在函數成員裡呼叫另一個函數成員的範例: 函數成員的相互呼叫 (2/2) 傳遞物件到函數裡 (1/2) 傳遞物件到函數裡 (2/2) 函數成員多載的範例 (1/3) 函數成員多載的範例 (2/3) 函數成員多載的範例 (3/3) 公有成員可能造成的錯誤 (1/2) 公有成員可能造成的錯誤 (2/2) 建立私有成員 私有成員只能夠在類別裡呼叫或存取 私有成員與資料保護 (1/2) 私有成員與資料保護 (2/2) 利用公有函數存取私有成員 (1/3) 利用公有函數存取私有成員 (2/3) 利用公有函數存取私有成員 (3/3) 建構元 建構元(constructor)可用來建立物件的初值 建構元的使用範例 (1/2) 建構元的使用範例 (2/2) 建構元的多載 (1/3) 建構元與函數成員一樣,都可以進行多載 下面是建構元多載的範例: 建構元的多載 (2/3) 建構元的多載 (3/3) class 類別名稱 { private: // 此處定義私有成員 public: // 此處定義公有成員 } 私有與公有成員的定義 class CWin // 定義視窗類別CWin { private: char id; int width; int height; public: int area(void) { return width*height; } }; 私有 公有 此處如果省略private關鍵字,id、width與height成員還是視為私有 16.5 公有成員與私有成員 16.5 公有成員與私有成員 錯誤,在CWin類別外部無法直接更改私有成員 16.5 公有成員與私有成員 16.5 公有成員與私有成員 利用公有函數來設定私有的資料成員,即可避開一些錯誤 16.5 公有成員與私有成員 16.5 公有成員與私有成員 16.6 建構元 類別名稱(型態1 引數1, 型態2 引數2,...) { 程式敘述 ; .... } 建構元的定義格式 建構元沒有傳回值 建構元的名稱必須和類別名稱相同 CWin(char i,int

文档评论(0)

1亿VIP精品文档

相关文档