C/C++小心者スレッドPart1
■ このスレッドは過去ログ倉庫に格納されています
0433デフォルトの名無しさん
2009/08/21(金) 13:48:43{
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が暗黙で呼ばれないかと思ったのですが
どれを使っても駄目でした
■ このスレッドは過去ログ倉庫に格納されています