- ベストアンサー
VC++についてです
クラスの中で他のクラスで定義した変数を使う場合はどのようにしたらいいのでしょうか?又、Cで作ったプログラムをVC++組み込もうとしているのですが、変数宣言等はどのクラスのどこにすれば、他のクラスでも使えるようになるのでしょうか? よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
お小言は抜きにして、質問にだけ答えます。 > クラスの中で他のクラスで定義した変数を使う場合はどのようにしたらいいのでしょうか? 他のクラスで使用したいメンバ変数をpublicにします。具体的には、 class A { public: int variable; }; class B { public: void func(A& a) { a.variable = 1234; } }; あるいは、メンバ変数へのアクセスを許可したいクラスを随伴クラスにします。具体的には、 class A { int variable; friend class B; }; class B { public: void func(A& a) { a.variable = 1234; } }; > Cで作ったプログラムをVC++組み込もうとしているのですが、変数宣言等はどのクラスのどこにすれば、他のクラスでも使えるようになるのでしょうか? C側で宣言した変数をC++側で使うには、次のようにします。 /* A.c */ int a; /* B.cpp */ extern "C" int a; void func() { a = 1234; } 多くの処理系では、変数は明示的にC結合にしなくても大丈夫ですが、Visual C++の場合は必ずextern "C"とする必要があります。