天天看點

《C++面向對象高效程式設計(第2版)》——第3章3.1 類概念的基礎

本節書摘來自異步社群出版社《c++面向對象高效程式設計(第2版)》一書中的第3章,第3.1節,作者: 【美】kayshav dattatri,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

c++面向對象高效程式設計(第2版)

在c++中,抽象的基本單元是類。類隻不過是功能增強的c結構。本章将介紹c++如何支援資料抽象。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

在c++中,類和結構幾乎相同(除了一些細微差别,稍後介紹)。對類概念的讨論,同樣可适用于結構。

類的一些重要特性如下:

(1)類的通路區域有private、protected和public區域。

(2)類包含靜态和非靜态成員函數的原型(或簽名)以及資料成員的聲明。

(3)可以在類中包含另一個類(嵌套類)的聲明。

(4)可以在類中包含靜态資料成員和靜态成員函數的聲明(稍後介紹)。

如下所示為整數棧tingstack類的示例:

/* tintstack 是一個儲存整數的棧,它提供普通的push和pop操作。

雖然實作通用棧也非常容易(将在第9章中介紹),但是,為了讨論友善,我們使用整數棧。

以下代碼在intstack.h檔案中

/

class tintstack {

 public:

   // 成員函數

   // 預設構造函數

   tintstack(unsigned int stacksize = default_size);

   tintstack(const tintstack& that);  // 複制構造函數

   // 指派操作

   tintstack& operator=(const tinstack& assign);

   ~tintstack();  // 析構函數

   void push(int thisvalue);

   int pop(); 

   unsigned int howmany() const;

   // 更多成員函數

 private:

   // 資料成員

   int*  _sp;

   unsigned _count;

   unsigned _size;

};

繼續閱讀