《現代c++程序設計》(美)Barbara Johnston----2:類和對象
“這項工作有誰來完成”這個問題對於設計類和使用對象來說非常重要。
在編寫程序之前,很重要的一步就是問問自己需要哪些類,每個類分別完成什麽功能。
如下是一些以前使用過的類:
string 處理文本數據
vector 數據列表
queue 隊列,先入先出
ifstream 打開數據文件並讀取文件
ofstream 打開數據文件並寫入文件
要使用這些類,需要在程序文件的開頭包含對應的庫文件,然後就可以創建對象來完成特定的工作。
對象後面跟一個點運算符的方式來訪問類中的定義功能
編寫自己的類:
類聲明:
class Date
{
//這裏聲明Date類的成員
//類成員包含數據和函數
};
c++程序都遵循這樣一個慣例:將類的聲明保存在於類名稱相同的頭文件(*.h)中,而類成員函數的實現代碼保存在同名的*,cpp中,例如Data.cpp。
因此,一個類的代碼往往保存在一對文件中,例如Date.h和Date.cpp。這樣可以方便代碼的復用,只要把一個類的兩個文件加入到工程中就可以使用了
類有兩個不同部分:私有區域和公有區域。
class Date
{
private: (關鍵字private,public是訪問控制符,決定類外代碼對類內成員的可訪問性)
//數據和函數原型
public:
//數據和函數原型
};
數據聲明部分:
class Date
{
private:
int month, day, year; //保存日期數字
string description; //保存描述信息
int dayofYear; //保存第幾天
bool bleap; // 來表示閏年與否
}; 設計一個類的時候,需要決定它需要保存哪些數據,除此之外,函數成員中也會有一些僅在函數內使用的局部變量。
public:
//下面是把數據保存到對象中的set函數
void SetData(int m,int d,int y,string desc);
void SetDesc(string d){ description = d};
// 這個get函數返回帶有格式的日期字符串
string GetFo...()
................
類的私有區域也有兩個函數原型:
class date
{
private:
void ...();
void..()
}
《現代c++程序設計》(美)Barbara Johnston----2:類和對象