C++について質問ですが、Classをプロトタイプ宣言することはできますか?

クラスB;
クラス A{
  クラスB clsB
};
クラス B{
};
としたいのですが、
コンパイルしたらクラスBが無いよと蹴られてしまいます。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/10/09 23:25:29
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント100pt

そういう場合はメンバをポインタとして持って

必要に応じて new すべきでしょう。

class B ;

class A {
 B *b ;

public :
  A() ;
} ;

class B {
public :
  B() {}
} ;

A::A() { b = new B ; }
id:harunoharuno

教えていただき有難うございます。

ポインタだと蹴られないとは、、まったく知りませんでした。

是非ためさせていただきます。

2008/10/04 23:05:41

その他の回答1件)

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81ここでベストアンサー

ポイント100pt

そういう場合はメンバをポインタとして持って

必要に応じて new すべきでしょう。

class B ;

class A {
 B *b ;

public :
  A() ;
} ;

class B {
public :
  B() {}
} ;

A::A() { b = new B ; }
id:harunoharuno

教えていただき有難うございます。

ポインタだと蹴られないとは、、まったく知りませんでした。

是非ためさせていただきます。

2008/10/04 23:05:41
id:angemaries No.2

回答回数80ベストアンサー獲得回数2

ポイント100pt

クラスのプロトタイプ宣言はできます。

class Hoge {

private:

int val;

public:

Hoge();

void method();

};

それよりもAとBの順番を逆にすべきでは?

id:harunoharuno

回答有難うございます。

クラスのプロトタイプ宣言では

クラス名だけ記述、、、というわけには行かないのですね。

こんなに長々とメンバを羅列しないといけないのであれば、

順番を入替えたほうがよさそうな気がします。

2008/10/05 00:53:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません