- 433 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:48:43 ]
- class CTest
{ private: int a; public: setValue(int val); // valをaに格納 }; CTest test; test.setValue(10); sprintf(buff,"%d",test); こうやると10がbuffに出力されるんですが これはよくないやり方ですよね (稀に不正な結果になりました) test+=10; if (test>=10) ... ++test; int val=(int)test; こういうのはoperatorを使えばaを対象にさせることができますが sprintf(buff,"%d",test); やはりこういうふうにtest単体だけを置いても 実際にはtest.aが返るようにするのは無理でしょうか? 何らかのoperatorが暗黙で呼ばれないかと思ったのですが どれを使っても駄目でした
|

|