トップページ > 過去ログ > 記事閲覧
基底クラスのバッティング
名前:ヨッシー 日時: 2009/12/21 00:33

クラスAを継承しているB、Cクラスがあったとして、 ※別ファイルなのでそれぞれでincludeしてます クラスD内でBとCのヘッダーファイルをinclude クラスDのメンバ変数にBとCを持つような構造を考えているのですが、そうするとクラスAの再宣言ということでエラーが出てしまいます どうにかうまいこと動かすにはどのようにしたらよいでしょうか?

Page: 1 |

Re: 基底クラスのバッティング ( No.1 )
名前:かたぱると 日時:2009/12/21 10:52

インクルードガード 問題ですね。 C++ であればヘッダの先頭に #pragma once と記載すれば回避できます。 移植性を考慮するならばちゃんとしたほうが良いですが…。
Re: 基底クラスのバッティング ( No.2 )
名前:sy(サイ) 日時:2009/12/21 12:12

例えば「test.h」と言うヘッダーファイルを作ったらその最初と最後に #ifndef test // 2回目以降はtestが定義されてるので通らない #define test // testを定義 ---内容--- #endif と記述しておけば、最初の一回しか読まれません。
Re: 基底クラスのバッティング ( No.3 )
名前:ヨッシー(解決) 日時:2009/12/21 23:40

インクルードガード・・・ なるほど、そういう方法があるのですね とても参考になりました ありがとうございました!

Page: 1 |