【初心者歓迎】C/C++室 Ver.72【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.72【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト995:デフォルトの名無しさん 10/05/20 22:55:25 例えばウィンドウを描くプログラムがあったとして、そのウィンドウに いろいろな部品を簡単に追加できると便利だろう。 そこで、こんなクラスを作り、 class Item { public: Item(); virtual ~Item(); virtual void Draw(); ... }; class ListBox : public Window { public: virtual void Draw(){ リストボックスを描く } }; class Button : public Window { public: virtual void Draw(){ ボタンを描く } }; class Picture : public Window { public: virtual void Draw(){ 画像を描く } }; class Window { public: void AddItem(Item* pItem){ items.push_back(pItem); } void Draw() { for(int i = 0; i < items.size(); ++i){ items[i]->Draw(); } } private: std::vector<Item*> items; }; 996:デフォルトの名無しさん 10/05/20 22:56:31 このように使う。 ListBox listBox; Button yesButton, noButton; Picture background; Window window; window.AddItem(&listBox); window.AddItem(&yesButton); window.AddItem(&noButton); window.AddItem(&background); window.Draw(); 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch