1

C ++に独自のSStringクラスがあり、これを実行できるようにしたい場合は、次のようにします。

SString x("text");
LPCSTR p = (LPCSTR)x;
cout<<p;

どうすればいいのですか?

4

2 に答える 2

5

conversion operator to LPCSTRクラスで作成しますSStringC++11この演算子を使用できる場合は、である必要がありますexplicit

operator LPCSTR() const { /*return data*/ };

また、次のような関数を作成することもできます(変換演算子よりも、このバリアントの方が優れていると思います)

LPCSTR asLPCSTR() const { /*return data*/ };
于 2012-09-18T09:44:58.963 に答える
3

ForEveRが言ったことに加えて、オーバーロードすることもできることに注意してください

ostream& operator << (ostream& str, const SString& ss);

と電話

cout<<x;

直接。

于 2012-09-18T09:46:39.887 に答える