#include #include #include "MyString.h" using namespace std; // デフォルトコンストラクタ // メンバ変数sの初期化を行う // sは最初は1文字とし,終端文字のみ格納 MyString::MyString() { s = new char[1]; s[0] = '\0'; } // 引数付きコンストラクタ // 文字列nと同じ長さの領域をsに確保してから,nの内容をsにコピー // strlenではnの終端のNULLがカウントされないので,+1が必要 MyString::MyString(const char *n) { s = new char[strlen(n) + 1]; strcpy(s, n); } // コピーコンストラクタ // デストラクタ // sの領域を解放する MyString::~MyString() { delete[] s; } // メンバ変数sの内容を表示する void MyString::printString() { printf("%s\n", s); } // 文字列nをメンバ変数sにセットする関数 void MyString::setString(const char *n) { delete [] s; s = new char[strlen(n) + 1]; strcpy(s, n); }