>>162
漏れなら単に .c_str() を一々付けて使うけど、それがどうしても嫌なら

class cstring : public std::string {
public:
 あれこれコンストラクタを定義
 operator const char*() { return c_str(); }
};

で済ませる。このケースで virtual dtor なんかいらない。