>A(const char* c) :string(c)
これ、: m_str(c) の間違いではなくて?
こういう書き方あるの?