C / C ++ 教育 学生 補習>>C++功能強大
IT電腦補習提供專業的c/c++ 補習 教育。讓大家能對這種歷久不衰的程式語言c/c++有深入的了解。下方的內容是少部份的c/c++ 補習 教育。
C++ 是個歷久不衰的程式語言,功能強大但入門不易,後期有很多的程式語言致力於擁有 C++ 大部份的功能並去除其不易掌握的部份,即使後期的程式語言如此之多,但 C++ 仍在程式語言工具中佔有一席之地。今天, 我們就做做教育吧.
C / C ++ 教育 学生 補習>>C++介紹
C++是一種廣泛使用的計算機程序設計語言。它是一種通用程序設計語言,靜態數據類型檢查,支持多重編程範式,例如過程化程序設計、數據抽象化、面向對象程序設計、泛型程序設計、基於原則設計等。
貝爾實驗室的比雅尼·斯特勞斯特魯普博士在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含類的C語言”),作為C語言的增強版出現。隨後,C++不斷增加新特性。虛函數(virtual function)、操作符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常處理(exception)、RTTI(Runtime type information)、名字空間(namespace)逐漸納入標準。 1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新標準為ISO/IEC 14882:2014。根據《C++編程思想》(Thinking in C++)一書所評述的,C++與C的效率往往相差在±5%之間。
C / C ++ 教育 学生 補習>>C++入門基礎
1)C++資料型態
C++中基本的資料型態主要區分為「整數」(Integer)、「浮點數」(Float)、「字元」(Character),而這幾種還可以細分,如下所 示:
- 整數
用 來表示整數值,可以區分為short、int、與long,可容納的大小各不相同,short的長度為半個word,int表示一個word,而long 可能是一個或兩個word,在32位元機器上int與long的長度通常是相同的,型態的長度越長,表示可表示的整數值範圍越大。
- 浮點數
用 來表示小數值,可以區分為float、double與long double,float的長度為一個word,double的長度為二個word,long double長度為3或4個word。
- 字元
用 來儲存字元,長度為1個位元組,其字元編碼主要依ASCII表而來,由於字元在記憶體中所佔有的空間較小,所以它也可以用來儲存較小範圍的整數。
2)C++ 類別
class是C++中用來封裝資料的關鍵字,當您使用類別來定義一個物件(Object)時,您考慮這個物件可能擁有的「屬性」(Property)與 「方法」(Method),屬性是物件的靜態描述,而方法是可施加於物件上的動態操作,您使用類別定義出這個物件的規格書,之後就可依這個規格書製作出一 個個的物件實例,並在製作過程中設定個別物件的專屬特性資料。
舉個例子來說,您可以定義一個「球」的模子,考慮球有各種不同的顏色(或名稱),以及球最基本的球半徑資訊,您想到這些資訊應該可以取得,並可以進一步取 得球的體積,當您在C++中要包裝這些資訊時,您可以如下進行定義:
#include <string>
using namespace std;
class Ball {
public:
Ball();
Ball(double, const char*);
Ball(double, string&);
double radius();
string& name();
void radius(double);
void name(const char*);
void name(string&);
double volumn();
private:
double _radius; // 半徑
string _name; // 名稱
};
您在表頭檔案中定義類別,表頭檔案的名稱建議與類別名稱同名,一個定義良好的類別,即使在不看程式碼實作的情況下,也可以從定義中看出這個類別的大致功 能;class是C++中用來定義類別的關鍵字,Ball是我們取得類別名稱,記得一個類別的定義是這麼作的:
class Ball {
// 成員定義
};
3)C++ 註解 (comment)
註解 (comment) 在語法高亮度系統也有特殊的顏色,連續兩個斜線為單行的注釋,斜線、星號開始到另一組星號、斜線結束的範圍則為多行的註解
// 引入標準程式庫中相關的輸入、輸出程式
// 引入標準程式庫中相關的字串程式
// std 為標準程式庫的名稱空間
// 此行程式碼建立名稱為 m , string 型態的物件
// 小括弧為 string 的建構子
// 雙引號為字串字面常數
// cout 為用來輸出的物件
// endl 為新行符號 \n
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:demo.cpp
功能:示範 C++ 程式
作者:張凱慶
時間:西元 2012 年 10 月 */
|
4)C++ 標準程式庫
C++ 把輸入與輸出的功能都放到標準程式庫 (standard library) 之中,因此使用相關程式需要先引入進來,這需要使用前置處理器指令 #include ,輸入與輸出相關的程式放在 iostream 裡,角括弧 <> 表示這是從標準程式庫中引入的。
同樣的,我們也有用到標準程式庫 string 的程式,因此也要用 #include 引入進來。
5)C++ 中英文術語對照
中英文術語對照 | |
---|---|
文字編輯器 | text editor |
整合開發環境 | Integrated Development Environment, IDE |
關鍵字 | keyword |
保留字 | reserved word |
基本資料型態 | primitive data type |
整數 | integer |
宣告 | declare |
參數列 | parameter list |
回傳值 | return value |
字串字面常數 | string literal |
註解 | comment |
識別字 | identifier |
變數 | variable |
函數 | function |
參數 | parameter |
前置處理器 | preprocessor |
類別 | class |
物件 | object |
輸出運算子 | output operator |
標準程式庫 | standard library |
名稱空間 | namespace |
建構子 | constructor |
陳述 | statement |
C / C ++ 教育 学生 補習>>C++语言特性
C++ 封裝
封装(Encapsulation)是将数据和处理数据的程序(procedure)组合起来,仅对外公开接口(interface),达到信息隐藏(information隱藏)的功能。封裝的優點是能減少耦合(耦合).C ++,Java和C#等語言定義對象都是在語法中明確地使用類(級)來做到封裝。
C ++的類對其成員(包括數據成員,函數成員)分為三種封裝狀態:
公有(公共)類的用戶可以訪問,使用該類的此種成員。
保护(protected):该类的派生类可以访问、使用该类的此成员。外界用户不可以访问、使用这种成员。
私有(民營):只有類自身的成員函數可以訪問,使用該類的此成員。
一般地,C++类的对外接口设定为公有成员;类内部使用的数据、函数设定为私有成员;供派生自该类的子类使用的数据、函数设定为保护成员。
C++ 繼承
继承(Inheritance)是指子类(subclass)继承超类(superclass),会自动获取超类除私有特质外的全部特质,同一类的所有实例都会自动有该类的全部特质,做到代码再用(reuse)。C++只支持类构成式继承,虽然同一类的所有实例都有该类的全部特质,但是实例能够共享的实例成员只限成员函数,类的任何实例数据成员乃每个实例独立一份,因此对象间并不能共享状态,除非特质为参考类型的属性,或使用指针来间接共享。C++支持的继承关系为:
公有繼承(公inheritance):最常用继承关系,含义是“is-a”关系,代表了在完全使用公有继承的对象类之间的层次结构体系(hierarchy)。
保護繼承(保護inheritance):基类的公有或保护内容可以被派生类,以及由此派生的其他类使用。但是基类对外界用户是不可见的。派生类的用户不能访问基类的内容、不能把派生类转换为基类的指针或引用。
私有繼承(私inheritance):基类的公有或保护内容仅可以被派生类访问,含义是“implemented-in-term-of”。但基类对派生类的子类或派生类的用户都是不可见的。派生类的子类或派生类的用户都不能访问基类的内容、不能把派生类转换为基类的指针或引用。
C ++支持多重繼承(多重繼承,MI)。多重繼承(多inheritance,MI)的优缺点一直广为用户所争议,许多语言并不支持多重继承,而改以单一继承和接口继承(interface inheritance),而另一些语言改以单一继承和混入(mixin)。C++支持虚继承(Virtual繼承)用以解決多重繼承的菱形問題(鑽石問題)。
C++ 多態性
特設通用
重載強制納入參
除了封装与继承外,C++还提供了多态功能,面向对象的精神在于多态(Polymorphism),一般的多态,是指动态多态,系使用继承和动态绑定(Dynamic綁定)實現,使用多態可創建起繼承體系(傳承hierarchy)。类(class)与继承只是达成多态中的一种手段,所以称面向对象而非面向类。
多態又分成靜態多態(靜態多態性)與動態多態(動態多態性).C ++語言支持的動態多態必須結合繼承和動態綁定(動態Binding)方式实现。静态多态是指编译时决定的多态,包括重载和以模板(template)实现多态的方法即参数化型态(Parameterized類型),是使用宏(馬)的“代碼膨脹法”達到多態效果。
類型轉換(類型轉換)也是一種區域(臨時)多態的概念,C ++提供的dynamic_cast,的static_cast等運算對象來實現強制類型轉換(強制)。
運算對象重載(運算符重載)或函數重載(函數重載)也算是多態的概念。
電子計算機 -教育 -IT 電腦班>>Contact US:
Leave a Reply