我有自己的字符串类(DinString
),没什么特别的。
我想知道是否可以做这样的事情
DinString a= "Helo World";
bool Func(DinString string);
Func("test");
最佳答案
是的。只需实现一个适当的(non-explicit
!)构造函数即可:
class DinString {
public:
DinString( const char *s ) {
// ...
}
};
请注意,如果您像这样“链接”多个构造器,则此方法将无效。例如,以下操作无效:
class DinString {
public:
DinString( const char *s ) {
// ...
}
};
class FooString {
public:
FooString( const DinString & ) { }
};
void f( const FooString &) { }
f( "hello" ); // doesn't call FooString(DinString("hello!")); !