class String { enum { INI_SIZE = 8, // キャパシティ初期値 }; public: String() String(const String &x) ~String() {} private: char *m_data; int m_size; int m_capacity; }; String::String(const String &x) : m_capacity(x.m_capacity) // キャパシティを初期化 , m_data(new char[x.m_capacity]) // 文字列領域を初期化 , m_size(x.m_size) // サイズを 0 に初期化 { for(int i = 0; i <= m_size; ++i) { m_data[i] = x.m_data[i]; // '\0' まで文字をコピー } }
解説:
前: | 次: