#include <iostream>
#include 
<cstdlib>

#ifndef _CPAUSE_
#define _CPAUSE_
class CPause {
    
static void system()
    {
        std::system(
"pause");
    }
public:
    CPause()
    {
        std::atexit(
&CPause::system);
    }
}m_pause;

#endif 

程式相當的簡單,當CPause類別的建構式喚起時,就會呼叫標準函式庫中atexit()並且執行system("pause")。這樣的話在客戶端程式結束前會呼叫system("pause"),而且m_pause為靜態的全域物件,也就是說當程式執行時該物件會第一個實例化,最後一個被解構銷毀。

註記:
有關於atexit說明如下
http://www.cplusplus.com/reference/clibrary/cstdlib/atexit.html

posts - 1, comments - 0, trackbacks - 0, articles - 2

Copyright © 林政夆