我想做一些类似的事情:
class StrToHex {
public:
??? StrToHex(std::string a) {
return class_method1(a) + class_method2(a);
}
private:
std::string method1(std::string a);
std::string method2(std::string a);
}
int main() {
std::string var = StrToHex("FF1042");
}
我知道我可以使用StrToHex::MyFunc((或创建类对象,但有什么方法可以不用它吗?
在C++中,构造函数不能返回值。因此,不能为构造函数指定返回类型。但也有其他可供选择的方法来实现这一点。我在这里使用了std::string强制转换运算符。
class StrToHex {
public:
StrToHex(std::string a) {
_data = method1(a) + method2(a);
};
operator std::string()
{
return _data;
};
private:
std::string method1(std::string a)
{
return std::string("Hi " + a);
};
std::string method2(std::string a)
{
return std::string(" again " + a);
};
std::string _data;
};
int main() {
std::string var = StrToHex("FF1042");
std::cout << var;
}
我希望它能有所帮助!。