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();
997:デフォルトの名無しさん
10/05/20 23:09:58
>>991
昔ならいざしらず、今は作ってるでしょう
998:デフォルトの名無しさん
10/05/21 07:16:08
++
999://
10/05/21 07:41:40
スレの住人喜べ
【初心者歓迎】C/C++室 Ver.73【環境依存OK】
スレリンク(tech板)l1
1000:デフォルトの名無しさん
10/05/21 07:43:51
1000なら>>999乙
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。