• 締切済み

VC++でクラス変数の定義方法。

aloopの回答

  • aloop
  • ベストアンサー率23% (10/43)
回答No.1

こんにちは。 >VC++でクラス変数の定義方法。及び、使用方法を教えてください。 こんな感じです。 class CLASS_NAME { public: //コンストラクタ&デストラクタ CLASSNAME(); ~CLASSNAME(); //メソッドのプロトタイプ宣言 void methodA() int methodB(int ia, double db ); //クラス変数(public) float f; private: //クラス変数(private) int i; char c; }; void CLASS_NAME::CLASS_NAME() //コンストラクタ { f = 0; i = 0; c = 'a'; } ...

関連するQ&A

  • rubyのクラス変数のようなものは無い?

    rubyのクラス変数に相当するものはPHPにはないのでしょうか? つまり、あるクラスの全てのインスタンスで共有する変数です。 DB中に存在する環境固有の値をクラスで保持したいのですが、インスタンスごとにDBアクセスするのは無駄なので、初回インスタンス生成時(is_nullで判断)にのみDBアクセスして、あとはそれを参照するだけにしたい。 globalを使って全体でのグローバル変数にするしかないのでしょうか?

    • ベストアンサー
    • PHP
  • インスタンス変数とクラス変数の違い

    1つのクラスオブジェクト内のインスタンス全てで共有できる クラス変数 @@a と、 同じインスタンス内であればメソッドの定義を越えてその値を 参照したり、変更したりできるインスタンス変数 @a のスコープの違いをお手すきでしたらご指導願えませんか? あとクラス変数にはセッターやゲッター等のアクセスメソッドを 設定できるんですか? いろいろ知りたいです。

    • ベストアンサー
    • Ruby
  • 【VC++】クラスの追加方法について

    VC++の操作方法についての質問です。 現在、VC++2005を用いて、MFCダイアログベースアプリケーションを作成しています。 クラスの追加方法についての質問ですが、 「クラスビュー」⇒「プロジェクト」で右クリック⇒「追加」⇒「クラス」でウィザードに従って追加すると、 ウィザード内で基本クラスをコンボボックスより選択しなければならず、 この方法で追加すると、選択した基本クラスを継承する形でクラスが自動生成され、クラスビューにマップと基本型が追加されます。 現在作成に当たって参照しているサンプルプログラムでは、新たにクラスが定義されているようですが、 マップと基本型は生成されておらず、基本クラスも定義されていないのです。 どのように操作すれば、サンプルのように基本クラスを定義せず、 マップと基本型も追加されずに、クラスを追加できるのでしょうか? また補足ですが、クラスを追加した後は、別の自分で定義した親クラスを継承させるようにコードを変更したいと思っております。 お分かりの方おられましたら、お手数ですがご教授お願い致します。

  • クラス間の変数について

    よろしくお願いします。 VC++のウィザードが自動生成するChildFrm.cpp内のクラスAとMainFrm.cpp内のクラスBの間で共通の変数int xxxを使いたいのですが、どこに宣言すれば良いのでしょうか? それともクラス間では、そのようなことは出来ないのでしょうか? ご存知の方教えてください。

  • マルチスレッド下でのインスタンス変数・クラス変数

    よろしくお願いします。  マルチスレッド下で動作するクラスを作成しています。データにアクセスするためのオブジェクトを クラスのフィールド値として保持し、使い回しを行いたいと考えています。このデータアクセスオブジェクト(以下Dao)内では特にフィールドは使用せず、全てローカル変数のみで動作するようになっています。Dao自体は初回のクラス生成時にstatic処理にてフィールドにセットされます。  このDaoを保持するフィールドは、staticなクラス変数が良いのか、インスタンス変数として保持する方が良いのか迷っております。  クラス変数ならばPermanent領域をオブジェクト1つ分のメモリ使用で済み、インスタンス変数だとスレッド毎にheapを使い、処理数が増えるとメモリ圧迫しちゃう?と安易に考えてしまったりしています。  ご意見・ご助言よろしくお願い致します。

    • ベストアンサー
    • Java
  • テンプレートクラスでのクラス変数

    テンプレートから生成したクラスごとにクラス変数を設けて、 かつ、クラス変数の初期化をいちいちやらなくてもよい という状況を作りたいと考えています。 そこでたとえば template <int N> class test { public: static int class_var() { static int class_var_ = N; return class_var_; } }; としたとき test<1>::class_var() と test<2>::class_var() はどのような値になるのでしょうか? VC++ではテンプレート全体で class_var_の値が同じになってしまうようのなのですが。。。 そもそも、こういうクラス変数自体を つくろうという考えが間違っているのでしょうか? どなたかご存知でしたらお教えください。

  • クラス変数とインスタンス変数

    PHP4でクラスを使いはじめたのですが、わからないことが出てきたので、教えてください。 クラスで指定したメンバ変数は、インスタンス毎に記憶さる、インスタンス変数になると思いますが、 クラスそのものに関連付けされた、クラス変数というものは、PHPでは使えないのでしょうか? 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • クラス内の初期化の簡略方法と、クラス内の巨大な配列をどうにかしたい。

    C++でクラスを書いているのですが、2つ悩んでいることがあります。 1つ目は、初期値のある巨大なテーブルをクラスの中に入れておくと、インスタンス生成ごとに巨大な参照用変数が作られるのはスマートでないと感じるのですが、何か良い方法はありますか? 2つめは、クラスで変数割り当てと同時に初期値セットを簡便に行いたいです。 class A { int info_table[100000]; void init(void){ info_table[0] = 1; // 1)実際は意味のある数値で、参照される巨大な変数 ... // 2)だらだら書くのではなくて、info_table[] = { 1, 2, 3 ... 100000};のように書きたい info_table[99999]; } public: A(){ init(); } ~A(){} };

  • Objective-Cクラス変数インスタンス変数

    現在iPhoneアプリを作成するために、Objective-Cの勉強をしています。しかしそこでわからないことがあり、質問させていただきました。 それは私がインスタンス変数(メンバ変数)を宣言してつかっているつもりなのですが、クラス変数の様な動きをするのです。 具体的にコードで説明します。 @implementation Main : NSObject - (void)hello{ [[Hoge alloc]init]; [[Hoge alloc]init]; } @end @implementation Hoge : NSObject NSNumber *i; - (id)init{ [super init]; NSLog(@"%d",i.intvalue); i = [NSNumber numberWithInt:123]; return self; } @end 出力結果 null 123 今手元にソースがないので正確ではないかもしれませんが、こんな感じです。hファイルにはとくになにもかいてません。 このソースの動きはmainでHogeクラスのインスタンスを二回作成することによって、initを二回呼んでいます。 疑問点は出力結果の挙動が予想外なことです。私としてはインスタンス作成時のiは初期化されていないため、 出力結果 null null になるのを期待しています。しかし二回目のinitでは前回に作成した123というデータが引き継がれています。この挙動はiはインスタンス変数ではなく、クラス変数のようにみえます。 しかしObjective-Cではクラス変数は存在しないとどっかのサイトに書いていました。 以上が質問です。なにかお気づきになった点があればごかいとういただけると幸いです。

  • VC++6.0ですが、違うクラスで同じ変数を利用?

     VC++6.0ですが、ダイヤログボックス内のボタンを押すともうひとつのダイヤログボックスが起動するプログラムを作っています。このときClassViewでみるとクラスも最初のダイヤログボックスのクラスと新しいダイヤログボックスのクラスがそれぞれできています。  ひとつのクラス内の関数で共通に変数を利用したいときは、関数の外に static char xxx[100]; などを書けば、複数の関数でその変数を利用できましたが、違うクラスで共通に利用したい変数はどのようにして作ればよいのでしょうか。 よろしくお願いします。