通知
すべてクリア
Topic starter
2003年2月14日 10:22 AM
ヘッダで宣言した変数の初期化(int)は普通どこでやるのでしょうか?
ヘッダ部で宣言し、初期化するとコンパイルエラーになるし、
グローバル変数にするしかないのでしょうか?
ちなみにこの変数はクラス内ですが、あらゆる部分で参照しています。
2003年2月14日 10:30 AM
クラスのメンバ変数の初期化の方法が知りたいということでしょうか?
通常、クラスのメンバ変数の初期化は、コンストラクタで行います。
というか、コントラクタはそのための関数です。
コンストラクタが何かをご存知ないのでしたら、
クラスについて勉強しなおすことをお勧めします。
2003年2月14日 10:30 AM
その変数が:
[1] インスタンス毎に存在するのならコンストラクタで。
[2] 唯一ひとつだけならstaticメンバ初期化で。
--- foo.h ---
class Foo {
int instance_val; // [1]
static int class_val; // [2]
public:
Foo();
...
};
--- foo.cpp ---
#include foo.h
Foo::Foo() : instance_val(1) {} // [1]
int Foo::class_val = 2; // [2]
Topic starter
2003年2月14日 10:53 AM
おっしゃるとおりです。
質問した後気付きました。
勉強して出直します。
