例えば
class CHoge{
public:
operator char* (void) { return m_pStr; }

protected:
char* m_pStr; // 文字列を保持してるメンバ変数
};

とかしておくと
printf("%s", (char*) hage);
でいいわけです。

つうことはデフォルトのキャストが判ればそれをoperatorで定義しとけば...?
てなことを考えてた訳です。