C++相談室 Part4
■ このスレッドは過去ログ倉庫に格納されています
0291278
NGNGprivate:
int h_size;
class foo *h_foo;
public:
hoge(){ h_size=0; }
void setFoo(class foo *f){ h_foo=f; }
int get_h_size(){ return h_size; }
void h_print(){ cout<<h_foo->get_f_size()<<endl; }
};
class foo{
private:
int f_size;
class hoge *f_hoge;
public:
foo(){ f_size=1; }
void setHoge(class hoge *h){ f_hoge=h; }
int get_f_size(){ return f_size; }
void f_print(){ cout<<f_hoge->get_h_size()<<endl; }
};
二つのクラスの関連を双方向にしたいのですが、上記だと
型が宣言されていないため 'get_f_size' は 'foo' のメンバーではない(関数 hoge::h_print() )
という、コンパイルエラーが出てしまいます。これは関連の実装が間違って
いるのでしょうか?それともアクセスの仕方が間違っているのでしょうか?
教えて下さいませ
■ このスレッドは過去ログ倉庫に格納されています