| コンストラクタ/デストラクタ |
|
■概要
・クラス機能の一つであり、コンストラクタとは、初期処理を行う処理を定義することを言います。
また、デストラクタは逆に終了処理に行う処理を定義することを指します。
・コンストラクタとデストラクタはクラスにメソッドを定義することで、自動的に呼び出されます。
オブジェクトの生成時にコンストラクタメソッドが呼び出され、オブジェクトの破棄時に、
デストラクタメソッドが呼ばれます。
また、クラスにコンストラクタメソッドやデストラクタメソッドの定義がない場合、
何も処理は行いません。
・コンストラクタで変数の初期化を行い、デストラクタではメモリ解放、初期化処理などが
一般的な使用方法として用いられます。
・★コンストラクタで例外送出した場合、デストラクタは事項されない!!
■コンストラクタ
・コンストラクタはクラス名と同じ関数名で定義します。
・一般的には、コンストラクタで引数も定義し、変数を初期化するといった用途で使用される。
■デストラクタ
・デストラクタはオブジェクト破棄時に自動的に呼び出され、主にメモリ解放などまとめて定義します。
・クラス名にチルダ( ~ )をつけることで、デストラクタ関数になります。
【例】
// Sampleクラス宣言
class Sample
{
//J メンバ変数の定義
private:
int x;
//J メソッドの定義
public:
//J コンストラクタ
Sample( int a ){
x = a;
}
//J デストラクタ
~Sample(){
printf("デストラクタ呼び出し\n");
}
int Getx(){
return x;
}
};
int main(){
Sample sam(100);
printf(" sam.x = %d\n", sam.Getx());
}
|
|
|
| |

A8ネット
・人気度:★★★★★
・言わずと知れた人気ASP
 |
| |
楽天市場

・人気度:★★★★★
・誰でも安心、楽天市場で
タワーレコード
・人気度:★★★★☆
・CD/DVDならタワレコで
|
|