32 #ifndef GOOGLETEST_SAMPLES_SAMPLE2_H_ 33 #define GOOGLETEST_SAMPLES_SAMPLE2_H_ 41 const char* c_string_;
42 const MyString& operator=(
const MyString& rhs);
46 static const char* CloneCString(
const char* a_c_string);
53 MyString() : c_string_(nullptr) {}
56 explicit MyString(
const char* a_c_string) : c_string_(nullptr) {
61 MyString(
const MyString&
string) : c_string_(nullptr) {
62 Set(
string.c_string_);
69 ~MyString() {
delete[] c_string_; }
72 const char* c_string()
const {
return c_string_; }
74 size_t Length()
const {
return c_string_ ==
nullptr ? 0 : strlen(c_string_); }
77 void Set(
const char* c_string);
80 #endif // GOOGLETEST_SAMPLES_SAMPLE2_H_