朋友重载插入访问另一个类的数据成员

时间:2015-11-01 06:53:14

标签: c++ operator-overloading friend

我有一项任务,我被困住了,我整天都在研究,空手而归:

我正在使用两个类:ClassA必须具有唯一的重载分配和重载插入。 ClassB必须具有唯一的重载分配,重载提取和重载插入。

ClassA有数据成员:int altitudechar codestring area

ClassB只有一个classAclassA* data[30]

数组

所有重载运算符在每个类中都必须是唯一的。当我为ClassB重载插入或提取时,我得到一个错误,即datamember是私有的,我假设是因为我正在读取的数组是数据类型ClassA。我不能将ClassB中的好友功能复制到ClassA。这甚至可能吗?

  class classB;

  class classA
  {
      friend class classB;

      friend ostream & operator<<(ostream&, const classA&);      
      void operator=(const classA&);

      int altitude;
      char code;
      string area;
  };

  class classB
  {
      friend ostream& operator<<(ostream&, const classB&);
      friend istream& operator>>(istream&, classB&);

      public:      
      void operator=(const classB&);      
      void sort();      

      private:
      classA* dataVals[30];      
  };

我确定我的重载函数写得正确。我们获得了重载运算符的基础知识和我刚刚提供的指示,这就是全部。

0 个答案:

没有答案