如果我在 C++ 中有自己的 SString 类并且我希望能够做到这一点:
SString x("text");
LPCSTR p = (LPCSTR)x;
cout<<p;
我该怎么做?
如果我在 C++ 中有自己的 SString 类并且我希望能够做到这一点:
SString x("text");
LPCSTR p = (LPCSTR)x;
cout<<p;
我该怎么做?
conversion operator to LPCSTR
在您的班级中创建SString
。如果可以使用C++11
这个操作符应该是explicit
。
operator LPCSTR() const { /*return data*/ };
你也可以创建一些函数(我认为这个变体比转换运算符更好)
LPCSTR asLPCSTR() const { /*return data*/ };
除了 ForEveR 说的,注意你也可以重载
ostream& operator << (ostream& str, const SString& ss);
并打电话
cout<<x;
直接地。