朋友班对我不好?

时间:2012-01-11 04:10:12

标签: c++ oop class inheritance friend-class

我第一次尝试处理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;,问题是什么?

2 个答案:

答案 0 :(得分:3)

问题是您尝试在编译器期望成员声明的位置执行语句。尝试将其放入方法

class Type : public Kind {
  ...
  void Example() {
    Kind root;
    root.x = 3;
  }
};

答案 1 :(得分:1)

您不能将作业作为课程声明的一部分。请在成员函数中执行此操作。