為什么要有透明性?如果別人不關(guān)心實(shí)現(xiàn),他可以折疊代碼(現(xiàn)在的IDE幾乎都支持),只看函數(shù)原型和注釋。不考慮需要替換【實(shí)現(xiàn)方法】的情況。不考慮繼承、多態(tài)、虛函數(shù)等。加上#pragma once,不考慮重定義。
2 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
樓上說的不對(duì)啊,分開定義根本目的并不是說重定義。就算你把函數(shù)定義在一個(gè)文件里面,照樣可以的,不然前向聲明還能存在嗎?分開定義首先是為了簡(jiǎn)潔,誰會(huì)覺得把函數(shù)聲明和定義都放在一個(gè)文件里面好?第二,在程序設(shè)計(jì)中,編寫人員可能只提供一個(gè).lib文件和頭文件或DLL文件,使用者便可以應(yīng)用到自己的程序中,也是方便了隱藏代碼。不全面,請(qǐng)諒解。
追問
提供.lib&.dll也是為了隱藏代碼對(duì)嗎?這個(gè)(即實(shí)現(xiàn)了透明性)有什么好處?
追答
也不全是為這個(gè)啊。Lib文件和Dll文件是經(jīng)過編譯的,所以使用者使用的時(shí)候編譯速度較純寫代碼快很多。而且Dll函數(shù)也有導(dǎo)出函數(shù)和非導(dǎo)出函數(shù)。使用者只能使用導(dǎo)出函數(shù)。
- 2 回答
- 0 關(guān)注
- 1434 瀏覽
添加回答
舉報(bào)
0/150
提交
取消