C++相談室 part145at TECH
C++相談室 part145 - 暇つぶし2ch278:デフォルトの名無しさん
19/10/03 04:57:05.82 vAL7lUst.net
質問です
既にクラスHogeとAがあり
クラスAとは別に新たにクラスBを追加することになった
BはA専用の関数が無く呼び出す必要も無いし逆のことは無い
その場合BにA専用の関数と同じ名前の空の関数を用意するか、呼び出されているHoge内で切り分けるかどちらの方が良いですか?
なおAは絶対に継承しなければならないし改変することもできない
class Hoge : A か class Hoge : Bをプリプロセッサかテンプレートで切り分ける
これを
void Hpge::func() {
  A_func(); //Bは持っていない
}
プリプロセッサで切り分けるのが良いのか
void Hpge::func() {
#if defined(USE_A)
  A_func();
#endif
}

それとも空の関数を書いた方が良いのか
class Hoge : B {
  A_func() {}
}
詳しい方がいたら教えていただきたいです
これ以外の賢いやり方があればそれでも大丈夫です


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch