首页 > 试题广场 >

将下列程序中的友元改成普通函数, 为此应增加类中访问私有数据

[问答题]
将下列程序中的友元改成普通函数, 为此应增加类中访问私有数据的成员函数:
//===================================
//ex0807 . cpp

//===================================


class Animal{
int itsWeight;
int itsAge;

friend void setValue(Animal&, int, int);

};//-----------------------------------
void setValue(Animal& ta, int tw, int tn){
  ta.itsWeight = tw;
  ta.itsAge = tn;
}//----------------------------------
int main() {
  Animal peppy;
  setValue(pappy, 7, 9);
}//==================================

推荐
//===================================
//EX0807 . cpp
//友元改成普通函数
//===================================
class Animal{
  int itsWeight;
  int itsAge;
public:
  void setWeight(int w){ itsWeight=w; }
  void setAge(int a){ itsAge=a; }
};
//-----------------------------------
void setValue(Animal& ta, int tw, int tn){
  ta.setWeight(tw);
  ta.setAge(tn);
}//----------------------------------
int main() {
  Animal peppy;
  setValue(pappy, 7, 9);
}//==================================

发表于 2018-05-07 21:13:13 回复(0)