Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: bo0wy@t3.rim.or.jp (Hideki Naito(bo0wy)) Newsgroups: playstation.ny.gamer.ny_game Subject: Re: C++ =?ISO-2022-JP?B?GyRCJS8laSU5JEcbKEI=?=static Date: Sat, 17 May 1997 14:31:33 +0900 Organization: PlayStation Net Yarouze Lines: 35 Message-ID: References: <01bc6273$aaac2220$LocalHost@------> NNTP-Posting-Host: 202.247.160.59 Mime-Version: 1.0 Content-Type: Text/Plain; charset=ISO-2022-JP X-Posting-Software: WSNews 2.017 "KAMI / 紙山 満" さんは書きました。 >#ちなみに、クラスの外にcountを出してしまうという解決方法はナシ >#include "stdio.h" > >class Orange { >public: > static int count; >}; > > >void main(void) >{ > Orange orange; > > printf("orange = %d\n", Orange::count); >} >  クラス宣言の外に、 int Orange::count;  と定義しないといけません。一見、クラスの外にcountを出すと言う 解決方法に見えますが(^^;、クラス宣言の中に書かれた物はあくまで そのクラスのメンバであると宣言しているにすぎない為、こうして その変数自体の存在を定義してやる必要があります。あと、外部から アクセスしているのでPublicのほうで良いはずです。 #昔は明示的な初期化が必要なければこの定義も必要なかった気 がしますが、最近のコンパイラではたぶん明確に定義しないと 駄目、だと言う事だと思います。 ---  内藤 英樹 <-> 暴威 E-mail : bo0wy@t3.rim.or.jp  (Net Yaroze! : aza02223) Nifty : CQC00075@niftyserve.or.jp