類的定義
在c++中,類的定義方法如下
class 類名{
訪問范圍說明符: 成員變量1 成員變量2 成員函數聲明1 成員函數聲明2 訪問范圍說明符: 更多成員變量 更多成員函數聲明 ... };
類的定義要以;
結束。
類的基本思想是數據抽象和封裝。數據抽象是一種把接口和實現分離的編程技術。類的接口包括用戶所能夠執行的操作,類的實現包括類的數據成員、負責接口實現的函數體和各種私有函數。
封裝實現了類的接口和實現的分離。封裝隱藏了類的實現,封裝過后,用戶只能訪問類的接口,而不能訪問類的實現。
類是一種將抽象轉換為用戶定義類型的C++工具,它將數據表示和操縱數據的方法組合成一個整體。例如一個日常生活時間類,時間對象有兩個屬性,小時和分鍾,根據需要應該能夠對每個日常事務所花的時間進行操作和顯示。操作和顯示就需要類的接口函數。
一般的類由兩部分組成:
封裝實現了類的接口和實現的分離。封裝隱藏了類的實現,封裝過后,用戶只能訪問類的接口,而不能訪問類的實現。
類是一種將抽象轉換為用戶定義類型的C++工具,它將數據表示和操縱數據的方法組合成一個整體。例如一個日常生活時間類,時間對象有兩個屬性,小時和分鍾,根據需要應該能夠對每個日常事務所花的時間進行操作和顯示。操作和顯示就需要類的接口函數。
一般的類由兩部分組成:
1.類聲明:以數據成員的方式描述數據部分,以成員函數(被稱為方法)的方式描述接口函數。
2.類方法定義:描述如何實現類成員函數。
2.類方法定義:描述如何實現類成員函數。
簡單地說,類聲明給出了類的框架,而方法定義給出了類的細節。
類成員的訪問控制
在定義一個類時可以規定外界對其成員的訪問權限,訪問權限的含義如下:
(1)public(公有的):公有成員可被與該類對象處在同一作用域內的任何函數訪問。
(2)private(私有的):私有成員只能被類中的成員函數及該類的友元函數訪問。
(3)protected(保護的):保護成員只能被類中成員或其派生類的成員函數或該類的友元函數訪問。
#include <iostream> using namespace std; class Time{ private: int day; int month; int get_numbers; public: Time(); //默認構造函數 Time(int h, int m = 0); //顯式構造函數 Time(const Time &); //拷貝構造函數 ~Time(); //析構函數 //------展示函數show() //在const函數中不可調用非const函數成員 void Time::show() const { cout << "month:" << month<< " " << "day:" << day<< " "<<endl; } };
注: 類的成員默認是私有的,而結構體成員則默認是公有的
成員函數定義的時候,也可以將函數的實現寫進類聲明的頭文件中,但是一定要添加inline關鍵字。如果不讓函數成為內聯函數,當頭文件被多個源文件引用時,會出現重定義。(inline函數是需要編譯器在遇到它的地方根據它的定義把它內聯展開的,而並非是普通函數那樣可以先聲明再鏈接的,內聯函數並不會參與鏈接,所以編譯器就需要在編譯時看到內聯函數的完整定義才行。C++規定,內聯函數可以在程序中定義多次,只要內聯函數的定義在一個.cpp文件中只出現一次,並且在所有的.cpp文件中,這個內聯函數的定義是一樣的,就能通過編譯。)