C++初心者です。
これから、SDKでオブジェクト指向を前提に
単純なペイント系のソフトを作成したいと思っています。
しかし、どのようなクラスを作っていけば良いのか
いまいち頭の中で整理できていません。
また、作れてたとして、オブジェクト同士の関係を
どのようにすれば良いかわかりません。
例えばウィンドウに画像を表示させることを
考えたとき、ウィンドウクラスと画像を扱うクラスを
作ったとして、ウィンドウクラスのメンバに
画像を扱うクラスを入れた方がいいのかなど、
そのへんのことがよくわかりません。
そこで、オブジェクト指向で書かれているC++のソースを
見て勉強したいのですが、何か参考となるソースって
ありますか。また参考になるURLなどございましたら
教えていただけると助かります。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

特にお勧めの本というのはないのですが


どういうふうに構築すればよいかはMFCの継承図を
みると参考になると思います。
http://www.microsoft.com/japan/developer/library …

Javaでもそうですが、大規模で汎用的クラス群の場合、
ものすごく抽象的なクラスご大元にあります。

勿論、今回はそのようなクラスを作るわけではないので,必ずしもあてはまるわけではありません。。
先ずアプリケーションに必用な機能を整理してみてください。
そしてそれぞれの機能で共通な機能を結びつけて継承関係やメンバ
を設計すればよいかと思います。

グラフィックソフトの画面構成
・メニューバー
・線描画ボタン
・点描画ボタン
・四角形描画ボタン
・多角形描画ボタン
・終了ボタン

とりあえずボタンclassがあったほうが便利だな・・・みたいな

余談ですが、模範になるクラス設計はあっても、
絶対だというクラスの設計方法はありません。
とくに今回の場合、汎用的にする必要はなく自分が使いやすいように特化しても
よいわけです。
MFCのソースはさすがに膨大なため見る気も失せますが、
案外、個人で公開されてるクラスって汚かったりしますよ?
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。

>そしてそれぞれの機能で共通な機能を結びつけて
>継承関係やメンバを設計すればよいかと思います。
このことを意識しながら、とりあえず失敗してもいいから自分なりにクラスを設計していこうと思います。
ご親切に教えてくださりありがとうございます。

お礼日時:2005/04/11 15:40

>何かお勧めの本をご存知でしょうか。


#1さんではありませんが

「憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門」
http://www.amazon.co.jp/exec/obidos/ASIN/4881356 …

なんてどうでしょうか。
「デザインパターン」とか「リファクタリング」とかの
本も良いと思います。
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。

>「憂鬱なプログラマのためのオブジェクト指向開発講座―> C++による実践的ソフトウェア構築入門」

amazonで上記の本が紹介されていましたが、
評判良さそうですね。オブジェクト指向に関する本は
一冊も持っていないので、購入してみようと思っています。

お礼日時:2005/04/11 15:27

まずSDKから自分でMFCのCWndのような汎用的なウインドウクラスを作るのはかなり大変です。



ウインドウズAPIはコールバック関数が多数あるため
クラスとの関連づけが難しいのですが
その為にSetPropというAPIが提供されています。

URL:コールバック関数をクラスのメンバとするには?
http://techtips.belution.com/ja/vc/0009/

話はそれますがWTLも便利ですよ?
http://lamoo.s53.xrea.com/develop/wtl/wtl.html
MFCと違いヘッダのみのテンプレートなので、小回りが利きやすいかも。

参考URL:http://techtips.belution.com/ja/vc/0009/
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。

実はこの質問をする直前に
http://techtips.belution.com/ja/vc/0009/
を参考にウィンドウクラスを作成することは
できたんですが、やはりクラスの設計方法がわかりません。
そこで、ソース等など参考になるものを見つけれなかった場合、オブジェクト指向に関する書籍を購入してみようと
思ったんですが、何かお勧めの本をご存知でしょうか。
書店に行ったのですが、これらに関する本がほとんど
置いてなかったので、ネットを利用して購入しようと
考えています。

お礼日時:2005/04/10 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング