程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 如何正確定義C++類

如何正確定義C++類

編輯:C++入門知識

下面詳細分析C++類的問題,C++是對某一對象的抽象;而對象是某一種的實例,因此,和對象是密切相關的,正因為類和對象有很強的關聯性,所以進行對C++類操作時需要十分注意。

什麼是C++

C++是一種復雜的數據型,它是將不同型的數據和與這些數據相關的操作封裝在一起的集合體。這有點像C語言中的結構,唯一不同的就是結構沒有定義所說的“數據相關的操作”,“數據相關的操作”就是我們平常經常看到的“方法”,因此,具有更高的抽象性,中的數據具有隱藏性,還具有封裝性。

的結構(也即的組成)是用來確定一對象的行為的,而這些行為是通過的內部數據結構和相關的操作來確定的。這些行為是通過一種操作接口來描述的(也即平時我們所看到的的成員函數),使用者只關心的是接口的功能(也就是我們只關心的各個成員函數的功能),對它是如何實現的並不感興趣。而操作接口又被稱為這對象向其他對象所提供的服務。

的定義格式

的定義格式一般地分為說明部分和實現部分。說明部分是用來說明該中的成員,包含數據成員的說明和成員函數的說明。成員函數是用來對數據成員進行操作的,又稱為“方法”。實現部分是用來對成員函數的定義。概括說來,說明部分將告訴使用者“干什麼”,而實現部分是告訴使用者“怎麼干”。

下面簡單地對上面的格式進行說明:class是定義的關鍵字,<名>是種標識符,通常用T字母開始的字符串作為名。一對花括號內是的說明部分(包括前面的頭)說明該的成員。

的成員包含數據成員和成員函數兩部分。從訪問權限上來分,C++的成員又分為:公有的(public)、私有的(private)和保護的(protected)三。公有的成員用public來說明,公有部分往往是一些操作(即成員函數),它是提供給用戶的接口功能。這部分成員可以在程序中引用。

私有的成員用private來說明,私有部分通常是一些數據成員,這些成員是用來描述該C++中的對象的屬性的,用戶是無法訪問它們的,只有成員函數或經特殊說明的函數才可以引用它們,它們是被用來隱藏的部分。保護(protected)將在以後介紹。

  • 圖解Visual C++ 5.0界面差異說明
  • Visual C++工具簡介
  • C++析構函數和this指針說明
  • 初次接觸C/C++語言注意事項
  • 概括C++代碼詳解

關鍵字public,private和protected被稱為訪問權限修飾符或訪問控制修飾符。它們在體內(即一對花括號內)出現的先後順序無關,並且允許多次出現,用它們來說明成員的訪問權限。

其中,<各個成員函數的實現>是定義中的實現部分,這部分包含所有在C++體內說明的函數的定義。如果一個成員函數的體內定義了,實現部分將不出現。如果所有的成員函數都在體內定義,則實現部分可以省略。

下面給出一個日期定義的例子:

  1. class TDate  
  2. {  
  3.     public:  
  4.     void SetDate(int y, int m, int d);  
  5.     int IsLeapYear();  
  6.     void Print();  
  7.     private:  
  8.     int year, month, day;  
  9. };  
  10.  
  11. //的實現部分  
  12. void TDate::SetDate(int y, int m, int d)  
  13. {  
  14.     yyear = y;  
  15.     mmonth = m;  
  16.     dday = d;  
  17. }  
  18.  
  19. int TDate::IsLeapYear()  
  20. {  
  21.     return(year%4==0 && year%100!=0) || (year%400==0);  

這裡出現的作用域運算符::是用來標識某個成員函數是屬於哪個的, 這樣對成員函數的實現(即函數的定義)都寫在了體內,因此的實現部分被省略了。如果成員函數定義在體外,則在函數頭的前面要加上該函數所屬的標識,這時使用作用域運算符。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved