#include <iostream>
#include <cstring>
#include <utility>
class String {
private:
char *value;
public:
String(const char* str);
~String();
int length() const;
};
String::String(const char* str)
: value(NULL)
{
if (str) {
value = new char[std::strlen(str) + 1];
std::strcpy(value, str);
}
}
String::~String()
{
delete[] value;
}
int String::length() const
{
return (value) ? std::strlen(value) : 0;
}
int main() {
String a = "Hello";
int i = a.length();
std::cout << i;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHV0aWxpdHk+CgpjbGFzcyBTdHJpbmcgewpwcml2YXRlOgogICAgY2hhciAqdmFsdWU7CgpwdWJsaWM6CiAgICBTdHJpbmcoY29uc3QgY2hhciogc3RyKTsKICAgIH5TdHJpbmcoKTsKICAgIGludCBsZW5ndGgoKSBjb25zdDsKfTsKClN0cmluZzo6U3RyaW5nKGNvbnN0IGNoYXIqIHN0cikKICAgIDogdmFsdWUoTlVMTCkKewogICAgaWYgKHN0cikgewogICAgICAgIHZhbHVlID0gbmV3IGNoYXJbc3RkOjpzdHJsZW4oc3RyKSArIDFdOwogICAgICAgIHN0ZDo6c3RyY3B5KHZhbHVlLCBzdHIpOwogICAgfQp9CgpTdHJpbmc6On5TdHJpbmcoKQp7CiAgICBkZWxldGVbXSB2YWx1ZTsKfQoKaW50IFN0cmluZzo6bGVuZ3RoKCkgY29uc3QKewogICAgcmV0dXJuICh2YWx1ZSkgPyBzdGQ6OnN0cmxlbih2YWx1ZSkgOiAwOwp9CgppbnQgbWFpbigpIHsKCVN0cmluZyBhID0gIkhlbGxvIjsKCWludCBpID0gYS5sZW5ndGgoKTsKCXN0ZDo6Y291dCA8PCBpOwoJcmV0dXJuIDA7Cn0=