為了提高軟體的復用率與可維護性,現代程式設計方法學中指出,乙個軟體系統的框架應該建立在資料之上,而不是操作之上。即在構成軟體系統的每個相對獨立的模組上定義一組資料和施於這些資料之上的一組操作,並在模組內部給出這些資料的表示與操作細節,而在模組外部使用的只是抽象的資料與抽象的操作。
類是一種抽象資料型別adt(abstract data type),它是一種使用者自己定義的資料型別。它實現了資料抽象和封裝的資料型別,它封裝了複雜資料與操縱複雜資料的程式**。
(一)類的定義與宣告
類的一般形式為:
class; //定義結構體
union udata; //定義共用體
enum color; //定義列舉型別
class nestedone, two; //物件列表
c)直接定義物件。
class one,two;
其中第一種方法最靈活最普遍。
2)物件的動態建立與釋放
前面介紹的靜態儲存物件占用空間的分配與釋放時間點是固定的。例如,在某函式中定義乙個物件,進入函式執行時,為物件分配儲存空間;函式結束執行時,釋放物件占用的空間。
為了提高儲存空間的利用率,可以使用new運算子動態分配物件空間,delete運算子釋放物件空間:
類名* 物件指標變數;
物件指標變數=new 類名;
point* p; //定義指向point物件的指標變數
p=new point; //動態分配point物件
當不需要使用new建立的動態物件時,必須使用delete運算撤銷,例如:
delete p; //撤銷p所指的物件
注意:new建立的物件不會自動被撤銷,即使程式結束也是如此,必須人為使用delete撤銷。
3)物件成員的引用
訪問物件中的成員有以下三種方法:
a)通過物件名與物件成員引用運算(.)訪問物件成員。
data a,b;
a.data=10;
a.add(5);
b)通過指向物件的指標和指標成員引用運算(->)訪問物件成員。
data a,*p,*p1;
p=&a;
p->data=10;
p->add(5)
p1=new data;
p1->data=10;
delete p;
c)通過物件的引用變數和物件成員引用運算(.)訪問物件成員。
data a,&r=a; //定義物件的引用變數
r.data=100;
r.fun(1,2,3);
C 類與物件
程式設計模型 所有計算機均由兩種元素組成 和資料.精確的說,有些程式是圍繞著 什麼正在發生 而編寫,有些則是圍繞 誰正在受影響 而編寫的.抽象封裝 封裝是一種把 和 所操作的資料 在一起,使這兩者不受外界干擾和誤用的機制.繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原...
C 類與物件
c 類與物件 區分物件導向與面向過程 物件導向是指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。物件導向 利用物件間的訊息傳遞來驅動程式的執行。優點 真實表現客觀世界,物件間的關係清晰,物件間的訊息處理高效。面...
C 類與物件
類是物件導向的核心機制,是物件導向設計中對具有相同或相似性質的物件的抽象,是對資料和操作進行封裝的載體,進而保證了對資料的安全 高效 合理的訪問 物件是類的例項,是類的具體個體,對應現實世界的實體。類的定義 class 類名 void showclock 習慣上在類的宣告中只定義函式的原型,在類外定...