人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C++について質問ですが、Classをプロトタイプ宣言することはできますか?
クラスB;
クラス A{
クラスB clsB
};
クラス B{
};
としたいのですが、
コンパイルしたらクラスBが無いよと蹴られてしまいます。

●質問者: harunoharuno
●カテゴリ:コンピュータ インターネット
✍キーワード:C++ Class クラス コンパイル プロトタイプ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GoldenDawn
●100ポイント ベストアンサー

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

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

class B ;

class A {
 B *b ;

public :
 A() ;
} ;

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

A::A() { b = new B ; }
◎質問者からの返答

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

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

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


2 ● angemaries
●100ポイント

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

class Hoge {

private:

int val;

public:

Hoge();

void method();

};

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

◎質問者からの返答

回答有難うございます。

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ