本節書摘來自異步社群出版社《c++面向對象高效程式設計(第2版)》一書中的第章,第2.14節,作者: 【美】kayshav dattatri,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
c++面向對象高效程式設計(第2版)
編寫實作所有成員函數源代碼的程式員,是類的實作者。實作者有實作成員函數的所有代碼,而且非常熟悉資料成員,也非常熟悉成員函數如何使用資料成員。實作者在需要時有權修改實作(但不是接口),修改類接口的情況很少見。在後續章節中會介紹這樣做的原因。
實作者編譯實作所有成員函數的源代碼(這将生成目标代碼(object code)),并且把它和接口檔案(頭檔案)一同提供給客戶。實作的源代碼通常儲存在與類名相同的檔案中,但名稱字尾.c、.cc、.cpp、.cp等擴充名(具體選擇取決于編譯器和約定)。本書涉及實作檔案時統一使用.cc擴充名。實作者編譯int.h和int.cc檔案,生成目标檔案(稱為int.obj)。tint類的客戶絕不會看見源代碼(成員函數的實作),客戶收到的是int.h檔案和int.obj檔案。要使用tint類,就需要int.h頭檔案和int.obj檔案。注意,實作者和客戶都使用相同的接口檔案(頭檔案):int.h。