• ベストアンサー

値の保持はどの様にしたらいいのでしょうか?

X::ab() { int a = 1; cd(a); } X::cd( int a) { int b; b = a+b; return b; } よくわかってないのですいませんが、 呼び出すたびに 1を +し cdの中のb値を保持したいのですができるのでしょうか? わかりにくいでしょうが宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

class X{ private int b; : public } のようにクラス定義側で、宣言してください。 後、bの初期化はコントラクタの中で行ってください。

gotyan
質問者

お礼

ありがとうございます 試してみます

その他の回答 (2)

  • furlong
  • ベストアンサー率50% (17/34)
回答No.3

No.1とNo.2とは効果が違いますよ。 例えば、 X x, y, z; x.ab(); y.ab(); z.ab(); x.ab(); としたとき、 No.1では x.b=2, y.b=1, z.b=1 No.2では b=4 (xyz共通) お好きな方をどうぞ。

gotyan
質問者

お礼

ありがとうございます がんばって勉強します

  • 405
  • ベストアンサー率50% (17/34)
回答No.2

>int b; を static int b=0; としてもbの内容が保存されます。

gotyan
質問者

お礼

ありがとうございます。 これは固定と言うことですね

関連するQ&A