クラスウィザードにクラスが表示されない – プログラミング – Home

クラスウィザードにクラスが表示されない
 
通知
すべてクリア

[解決済] クラスウィザードにクラスが表示されない


しど
 しど
(@しど)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

CObjectの派生クラスCHogeを作ったのですが
クラスウィザードにCHogeが表示されません。
クラスビューでCHogeを右クリックしても
仮想関数の追加が表示されません。

CHogeはメニューからクラスの新規作成で
基本クラスをGenericクラスにして作りました。
ほかのクラスについては正常に表示されます。

どうしたらクラスウィザードにCHogeが表示されるようになるでしょうか?
ご教授お願いします。

WinMe VC++6.0SP


引用未解決
トピックタグ
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

VC++6.0 はほとんど使ったコトないけど、CObject の派生なら、
「Genericクラス」ではなく「MFCクラス」にしないとあかんのでは?


返信引用
Tonny
 Tonny
(@Tonny)
ゲスト
結合: 22年前
投稿: 32
 

未確認ですが、たしかできなかったと思います。
クラス作成時に”自分で作業しなさい。的なメッセージが出てきたような気がします。
でもオーバーライドする関数ってコピーストラクタ、オペレーター=、シリアライズ
くらいしかないですよね。
面倒ですが私は自分で書いてます。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

ファイルビューでまずプロジェクト内で仕様されているヘッダファイルかどうか
確認できていますか

ただ作っただけでは、プロジェクトで使用しているファイルとして
認識されていなければならないと思うのですが


返信引用
パブリオ
 パブリオ
(@パブリオ)
ゲスト
結合: 22年前
投稿: 8
 

.clw ファイルを直接編集するっていう手もあるかも。

[General Info]
ClassCount=N  ←クラス数
Class1=XXXXX
:
ClassN=CHoge

[CLS:CHoge]

※もともとある部分を参考にしてください。


返信引用
akey
 akey
(@akey)
ゲスト
結合: 22年前
投稿: 53
 

メンバ関数の追加を選んで「Virtual」チェックボックスをクリックして
関数を書けばよいのでは?

どうしてもというのならば、
以下のコードを追加して、.clwファイルを消して
クラスウィザード情報を作り直せばクラスウィザードに表示されます..が仮想関数の追加は出来
ません。

ヘッダファイルのクラス宣言内に

//{{AFX_MSG(CHoge)
//}}AFX_MSG

//{{AFX_VIRTUAL(CHoge)
//}}AFX_VIRTUAL

ソースファイル内に

//{{AFX_MSG_MAP(CHoge)
//}}AFX_MSG_MAP


返信引用
しど
 しど
(@しど)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

wood様
もちろん該当ファイルはプロジェクトに追加してあります。

Tonny様
>でもオーバーライドする関数ってコピーストラクタ、オペレーター=、シリアライズ
>くらいしかないですよね。
>面倒ですが私は自分で書いてます。

たしかに言われるとおりです。
シリアライズをオーバーライドしようとして
「仮想関数の追加」がないのに気がつきました。

たいした手間でもないので、手作業で書くことにします。

皆様アドバイスありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました