java同様、コンストラクタとデストラクタが存在し、
class Sample {
public:
Sample(); //コンストラクタ
Sample(int x); //引数ありコンストラクタ
~Sample(); //デストラクタ
}
Sample::Sample() {
}
Sample::Sample(int x) {
}
という風にすれば良い。
初期化は通常
コンストラクタ(引数) : メンバ名1(初期化値1),メンバ名2(初期化値2) {
}
と書くと良く、
コンストラクタ(引数) {
メンバ名1 = 初期化値1;
メンバ名2 = 初期化値2;
}
と書くと、単に代入となってしまうようだ。
ところで、コンストラクタからコンストラクタを呼び出したいということはよくありそうだ。
javaであればthis()で呼び出してしまえば良いが、C++ではそうもいかない。
そこで、呼び出さないものをprivate等で隠ぺいする方法などがあるようだ。
この辺の良い方法はもう少し調べてみたい。
初期化共通部関数というのを作って、両方のコンストラクタから呼び出すというのも一つの手段だが・・・。
最終更新:2011年04月03日 11:34