2017-12-03 94 views
-1

我需要創建一個可以打開文件並寫入它的類,但遇到很多麻煩。我搜索並找到了應該幫助我的答案,但是我一直無法實現它們。我可以創建該文件,但無法在main中訪問它。 說我有一個類:如何使對象可以訪問類的其餘部分

class Log{ 
    public: 
    Log(string name){ 
    ofstream log(name); 

    void Entry(string message){ 
     file << message << endl; 

,我希望能夠打印到使用下面的函數從主要在構造函數中創建了此文件。

int main(){ 
Log log("LogFile.txt); 
log.Entry("message"); 
} 

當然,我的fstream文件不在Entry範圍內。我怎樣才能訪問它?我嘗試使用一個指針,並最終與內存泄漏崩潰;我現在很生鏽。任何幫助將不勝感激。先謝謝你。

回答

0

爲了解決你的問題,你需要在你的類中使用一個實例變量。

所以,你的類將是:

class Log{ 
    ofstream log; 
    public: 
    Log(string name){ 
    log.open(name); 

    void Entry(string message){ 
     file << message << endl; 

希望這有助於。

相關問題