2017-03-22 6 views
0

"終了ハウスキーピング"という表現は何を意味しますか? 私は、デストラクタはクラスのオブジェクトに対して終了ハウスキーピングを実行するために使用されることを読んだ。私はそれが何を意味するのか分かりません。終了ハウスキーピングとはどういう意味ですか?

ありがとうございました。

+0

私はデストラクタとは何かを知っていますが、私はそれが何をしているのか知っています。 –

+0

「終了」は、通常、プログラムの終了を示します。 –

答えて

2

デストラクターのコンテキストでは、終了ハウスキーピングは、オブジェクトが破棄される直前に行われる作業です。

システムがオブジェクトの記憶域を再利用する前に何かしたい場合は、デストラクタにコードを書き込んでください。

例えば、初心者は、呼び出されているコンストラクタとデストラクタのシーケンスを理解するためにこのメソッドを使います。

#include <iostream> 

using namespace std; 

class Line { 
    public: 
     void setLength(double len); 
     double getLength(void); 
     Line(); // This is the constructor declaration 
     ~Line(); // This is the destructor: declaration 

    private: 
     double length; 
}; 

// Member functions definitions including constructor 
Line::Line(void) { 
    cout << "Object is being created" << endl; 
} 

Line::~Line(void) { 
    // THE PLACE FOR TERMINATION HOUSEKEEPING 
    cout << "Object is being deleted" << endl; 
} 

void Line::setLength(double len) { 
    length = len; 
} 

double Line::getLength(void) { 
    return length; 
} 

// Main function for the program 
int main() { 
    Line line; 

    // set line length 
    line.setLength(6.0); 
    cout << "Length of line : " << line.getLength() <<endl; 

    return 0; 
} 

あなたは別の例hereを見ることができます:

hereから例を取ることができます。

関連する問題