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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- 友達・仲間 学生さんに質問です。 同じクラスの人を女子同士ならお互い下の名前を呼び捨てで呼び、男子同士ならお互い 2 2023/03/08 19:33
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- 行政学 ★行政書士試験の行政法についての質問になります。 行政事件訴訟法についての質問になります。 問 A県 1 2023/08/16 10:39
- その他(恋愛相談) 3ヶ月前に別れた人がいるのですが、その人とは別れてからもお互い会える日は毎週多くて2日少なくて1日会 2 2022/09/06 23:28
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
範囲外の数値を代入したらエラ...
-
クラス間でのデータ参照
-
親クラスから子クラスへアクセス。
-
import と extends について
-
実行可能jarファイルのファイル...
-
Java リフレクションについて
-
無名パッケージからのインポート
-
リフレクション
-
オブジェクトのデータをもとにX...
-
C#でほかのファイルにある自作...
-
java-別クラスの変数の使い方を...
-
サブクラスで.newInstance()で...
-
C#のクラスライブラリでメッセ...
-
c++,ある関数のクラスから別の...
-
ひとつのファイルにクラスは1つ?
-
違うクラスからの変数の共有化
-
Java
-
Javaでswingの画面変わる際に他...
-
eclipse3.0 元に戻す最大回数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
C#でほかのファイルにある自作...
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
親クラスから子クラスへアクセス。
-
構造 他のクラスの構造体を別...
-
ひとつのファイルにクラスは1つ?
-
Java
-
import と extends について
-
継承したクラス側のクラス名の取得
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
SwingでgetContentPaneのエラー...
-
アップキャスト、ダウンキャス...
-
C# インターフェイスの実装
-
visual studioのデザイナ画面で...
おすすめ情報