データ構造,アルゴリズム,デザインパターン総合スレ 2
■ このスレッドは過去ログ倉庫に格納されています
0089デフォルトの名無しさん
2013/10/07(月) 20:33:21.18サブクラスからサブクラスを呼ぶときに、スーパークラスを無視した以下の書き方はオブジェクト思考的には違反でしょうか?
void AppDerived::method(){
(static_cast<DetailDerived*>(ptr))->func();
}
スーパークラス(AppBase)のヘッダにmethod()を追加したり、なるべくさわりたくないので上記の方法を思いつきました。
クラスの繋がりは以下の通りです。
class AppBase{
DetailBase* ptr;
}
AppBase ◆− DetailBase
AppBaseとDetailBaseはコンポジット関係です。
class AppDerived : public AppBase{
void method()
}
class DetailDerived : public DetailBase{
void func()
}
■ このスレッドは過去ログ倉庫に格納されています