自分で作ったクラスのメンバ変数に自分で作ったクラスをつかいたい。 – プログラミング – Home

自分で作ったクラスのメンバ変数に自分で...
 
通知
すべてクリア

[解決済] 自分で作ったクラスのメンバ変数に自分で作ったクラスをつかいたい。


donchan
 donchan
(@donchan)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

C++に関する質問です。
たとえば、
class A{
A a;
B b;
int hoge;
};

class B{
A a;
 double hoge2;
}

ということをしたいのですが、このままかくと、
Bが定義されていません。みたいなことになります。
(環境:VC++)

もちろんA,Bの順番を変えると、Aが定義されていません。
となります。

このような時はどうすればいいのでしょうか。

よろしくおねがいします。


引用未解決
トピックタグ
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

出来ません。
A の中に B があって, B の中に A があったら、いつまでたっても終わらないです。

A::b, B::a のいずれかまたは両方をポインタにすれば出来ます。

class B;

class A{
B *b;
};

class B{
A *a;
};


返信引用
toru
 toru
(@toru)
ゲスト
結合: 24年前
投稿: 48
 

たしかにループにはまりますね。でも

class B;

class A
{
...
};

class B
{
...
};

↑こういうことを知りたいんじゃないでしょうか。


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

> ↑こういうことを知りたいんじゃないでしょうか。

すみません、私の書き込みと同じに見えるのですが。どういうことでしょうか?


返信引用
toru
 toru
(@toru)
ゲスト
結合: 24年前
投稿: 48
 

確かに同じでした。
ポインタにしているというところばっかり目がいってて
見落としてました。すみません。


返信引用
donchan
 donchan
(@donchan)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

返事が遅くなりましたが、
ありがとうございました。

とりあえず、解決しました。
(まだ、最後まで完成していないので、ほんとにうまくいっているかは
分からないのですが、大丈夫でしょうということで)

また、お願いするかもしれません。
これからもよろしくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました