開發環境與發布環境隔離開。
每次在開發環境測試沒有問題後,再發布到發布環境。
直接使用簡單的腳步:
大致功能:
1. 修改資料庫連線檔案。(或其他配置檔案)
2. copy發布。
3. 標記發布時間。
rename tms\conn.php conn.php.demo
rename tms\conn.php.tms conn.php
xcopy tms ..\tms /e/y
rename tms\conn.php conn.php.tms
rename tms\conn.php.demo conn.php
copy tms\login.html+
echo "發布成功!"
pause
copy **+會修改該檔案時間屬性,然後頁面可以獲取並展示當前發布時間。
發布於
mark下,基類虛的析構函式。
當乙個類打算被用作其它類的基類時,它的析構函式必須是虛的。考慮下面的例子:
class a
~a() // 非虛析構函式
private:
char * ptra_;
};class b: public a
~b()
private:
char * ptrb_;
};void foo()
在這個例子中,程式也許不會象你想象的那樣執行,在執行delete a的時候,實際上只有a::~a()被呼叫了,而b類的析構函式並沒有被呼叫!這是否有點兒可怕?
如果將上面a::~a()改為virtual,就可以保證b::~b()也在delete a的時候被呼叫了。因此基類的析構函式都必須是virtual的。
基類虛析構函式
why虛析構函式?主要還是由於基類指標或引用可以不進行顯示型別轉換的情況下指向派生類物件。同時通過引用或者指標或引用呼叫方法時遵循 例如 定義了基類brass,派生類brassplus 如果viewacct 不是虛方法,則b1 ref.viewacct 和b2 ref.viewacct 均是使用br...
多型基類與虛析構函式
假設我們有乙個基類a,很不幸的,a的析構函式是乙個non virtual。同時我們有乙個派生類b,它派生自a。我們定義了乙個a型別指標,它指向的實際物件是b a ptr new b 然後在程式的某處,我們不再需要b了,我們將指標ptr delete掉 delete ptr 注意new永遠要和dele...
基類虛析構函式分析
多型是由虛函式表來實現,通過父類指標來實現動態繫結。子類重寫父類的虛函式後,覆蓋虛函式表中父類該虛函式在表中原來的位置,也許 覆蓋 也就是由此得稱。那析構函式是否也如此呢?程式 中經常可以見到將基類的析構函式寫成虛函式,目的就是為了防止由以下這種情況造成的記憶體洩漏 class a class b ...