共有するソースなら3を、そうでなければ1を。
状況に応じて4を使い分ければいいかな?

所で文字列定数ってどうしてる?
クラス外で const char* unko = "もりもり";
これは逝って良し?