自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何正確定義C++類

開發(fā) 后端
所謂的C++類是一種復雜的數(shù)據(jù)類型,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關的操作封裝在一起的集合體,好了知道了C++類的基本概念,下面就可以說明C++類了。

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

什么是C++

C++是一種復雜的數(shù)據(jù)型,它是將不同型的數(shù)據(jù)和與這些數(shù)據(jù)相關的操作封裝在一起的集合體。這有點像C語言中的結構,***不同的就是結構沒有定義所說的“數(shù)據(jù)相關的操作”,“數(shù)據(jù)相關的操作”就是我們平常經(jīng)??吹降摹胺椒ā保虼?,具有更高的抽象性,中的數(shù)據(jù)具有隱藏性,還具有封裝性。

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

的定義格式

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

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

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

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

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

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

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

  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. //的實現(xiàn)部分  
  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);  

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

責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-02-24 15:27:26

Python數(shù)組

2009-12-30 17:35:21

Silverlight

2010-01-28 13:27:12

C++類定義

2010-02-01 10:54:37

C++框架

2010-03-01 15:12:53

WCF回調契約

2022-11-10 15:58:41

模型訓練

2010-02-25 16:07:28

WCF REST

2023-11-30 07:50:38

SaaS企業(yè)

2010-01-14 15:29:44

C++編譯器

2010-01-21 11:03:07

C++庫

2010-01-18 17:14:50

C++語言

2010-01-28 09:44:08

C++應用程序

2010-01-20 09:54:27

C++數(shù)據(jù)類型

2010-01-28 10:49:22

C++構造函數(shù)

2010-01-25 14:00:27

C++類

2010-01-13 10:45:44

Visual C++

2010-01-25 10:25:19

C++變量

2010-01-20 09:32:30

C++類

2010-01-21 13:33:44

C++基類

2010-02-04 14:01:43

C++非類型類模板參數(shù)
點贊
收藏

51CTO技術棧公眾號