键入转换自定义c ++类

Ale*_*ruC 1 c++ visual-c++

如果我在c ++中有自己的SString类,我希望能够这样做:

SString x("text");
LPCSTR p = (LPCSTR)x;
cout<<p;
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

For*_*veR 5

conversion operator to LPCSTR在班上创建SString.如果你可以使用C++11这个运算符explicit.

operator LPCSTR() const { /*return data*/ };
Run Code Online (Sandbox Code Playgroud)

你也可以创建一些函数(我认为这个变体比转换运算符更好)

LPCSTR asLPCSTR() const { /*return data*/ };
Run Code Online (Sandbox Code Playgroud)