January 2009

程式設計

[C++] 多載(Overloading) 對於繼承上的一個小觀念

看書看到的,我覺得很重要就先把它記下來,免得日後coding時,造成不必要的麻煩。 在C++中,多載(Overloading)的設計,可以讓我們不用寫很多且複雜的function. 但是,要記住,在繼承關係中,要做到父子類別的Overloading時,要稍微注意一下是否真的有Overloading? 例如: 今天有A、B兩個Class ,B繼承A(也就是A是B的父親)。A有fun()這個函數,B有fun(int i)函數。 當你在宣告B CLASS_B時,可別以為B這個Class同時有,fun(int i) 與 fun()這兩個函數喔! 因為多載的概念是基於多載函數必須在同一個類別內,所以當有兩個同樣名稱但是參數不同時,Compiler會視為重複定義了fun這個函數,編譯的時候就會出現錯誤! 這時候要怎麼做呢?有兩種解法: 1.

Linux Linuxamp;FreeBSD

CentOS yum設定檔

最近Lab網頁主機替換,我為它裝上了CentOS 5.2,發現鳥哥網站寫的直接在mirrorlist加入&cc=tw 的方法對於學術網路的安裝與更新來說,實在太慢了。 研究了一下,終於將它換成對應到義守大學檔案伺服器的mirror。如此,連線速度就可以快很多倍囉! 以下是我的設定檔(位於/etc/yum.repos.d/CentOS-Base.repo): [base]name=CentOS-$releasever – Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&cc=twbaseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/os/$basearch/gpgcheck=1gpgkey=http://ftp.isu.edu.tw/pub/Linux/CentOS/RPM-GPG-KEY-CentOS-5 #released updates[updates]name=CentOS-$releasever – Updates#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&cc=twbaseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/updates/$basearch/gpgcheck=1gpgkey=http://ftp.isu.edu.tw/pub/Linux/CentOS/RPM-GPG-KEY-CentOS-5 #packages used/produced in