
http://www.okweb.ne.jp/kotaeru.php3?q=541009
に関連した状況です。
ヘッダ同士がお互いにincludeしているとエラーになるそうですが、
異なる2つのclassがあって、互いにメンバ関数を呼び合うような場合、
includeはどのように行えばよいのでしょうか?
普通は、main.cppや、より上位のアプリケーション管理クラスに
書くものなのでしょうか?
試しにそうしてみたのですが、エラーを見ると、
何やらお互いに「そんなクラスは知らない」と言い合っているようなのです。
似たような質問で申し訳ないです。
No.1ベストアンサー
- 回答日時:
ちょっと質問の意図から外れてしまいまうかもしれませんが、
C++ではクラスの前方宣言が可能です。前方宣言とはただ単にクラスを宣言しているだけです。利用目的は2つのクラスがお互いを引数とするメンバー関数を持っている場合に利用します。
例を以下に示します。
<SAMPLE.H>の中身 -------------------
class clsA;
class clsB
{
public:
clsB();
get(clsA a);
};
class clsA
{
public:
clsA();
set(clsB b);
};
これを応用すればこの問題は解決するような気がします。
もちろん、<SAMPLE.H>中身を別ヘッダーファイルに分けたときは
#includeする順番を気をつけてください。
説明が足りないかと思いますが、このへんで。
>もちろん、<SAMPLE.H>中身を別ヘッダーファイルに分けたときは
>#includeする順番を気をつけてください。
これは、
<clsA.H>の中身 -------------------
class clsB;
class clsA
{
public:
clsA();
set(clsB b);
};
<clsB.H>の中身 -------------------
class clsA;
class clsB
{
public:
clsB();
set(clsA a);
};
とするということですか?
ちょっと試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c++,ある関数のクラスから別の...
-
C#にて別クラスの関数を使いたい
-
クラス間でのデータ参照
-
Java リフレクションについて
-
import と extends について
-
C++でfriendクラスにしているの...
-
関数内の変数に<summary>コメン...
-
無名パッケージからのインポート
-
構造 他のクラスの構造体を別...
-
C,C++,C++/CLIの構造体とクラス
-
実行可能jarファイルのファイル...
-
java-別クラスの変数の使い方を...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
レコード件数の表示
-
オブジェクト参照がオブジェク...
-
変数名の付け方
-
複数のクラスで共通した関数を...
-
JSPで<SELECT>の中にDBから持っ...
-
EXCEL VBAにて動的にCheckBOXを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
javaでメインクラスが見つから...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
a href="..." とServlet
-
無名パッケージからのインポート
-
visual studioのデザイナ画面で...
-
import と extends について
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
C# インターフェイスの実装
-
親クラスから子クラスへアクセス。
-
c++,ある関数のクラスから別の...
-
Java
-
構造 他のクラスの構造体を別...
-
C++で親クラスの関数を呼び出す...
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
下記のコードを実行すると、Mai...
おすすめ情報