友達のクラスは私とうまくいきませんか?
-
26-10-2019 - |
質問
私は対処しようとしています friend class
初めて。以下にコードを書きました:
class Kind{
private:
friend class Type;
int x;
public:
Kind(){ x=0; }
void setX(int X) { x =X; }
int getX() { return x; }
};
class Type: public Kind {
public:
friend class Kind;
Type(){ }
Kind root;
root.x=3;
};
コンパイラは、私にはできないと言っています root.x=3;
, 、 何が問題ですか??
解決
問題は、コンパイラがメンバー宣言を期待している場所で声明を実行しようとすることです。メソッドに入れてみてください
class Type : public Kind {
...
void Example() {
Kind root;
root.x = 3;
}
};
他のヒント
クラス宣言の一部として割り当てを行うことはできません。代わりにメンバー関数でそれを行います。
所属していません StackOverflow