请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为: Common denominator is 2 要求:补充编制

admin2016-06-12  27

问题 请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为:
Common denominator is 2
要求:补充编制的内容写在“//***********333***********”与“//***********666***********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFfle已经编译为obj文件,并且在本程序中调用。
//proj3.h
class FriFunClass
{
  int a,b;
public:
  FriFunClass(int i,int j){a=i;b=j;}
  friend int FriFun(FriFunClass x);
//友无函数
  };
  void writeToFi le(const char*);
//proj3.cpp
#include
us ing namespace std;
#include“prj3.h”
int FriFun(FriFunClass X)
{
//***********333***********
  //由于函数FriFun()是类FriFunClass
的友元函数,所以它可以直接访问a和b
//***********666***********
}
int main()
}
FriFunClass n(10,20);
if(FriFun(n))
cout<<”Common denominator iS”<
else cout<<”NO common denominator.\n”;
writeToFile(””);
return 0;
}

选项

答案int min=x.a
解析 本题考查的是FriFunClass类,其中涉及构造函数和友元函数。题目要求完成友元函数,在函数体内可以任意调用FriFunClass类的私有成员。
【解题思路】主要考查考生对友元函数的掌握情况,友元函数可以访问类的私有数据成员,题目要求函数求出两个数据成员的大于1的最小公因子,从2开始往上算,因此要同时可以被两个私有成员整除,这里用取余符号完成,取余为0即为整除。
【解题宝典】主要考查考生对友元函数的掌握情况,友元函数可以访问类的私有数据成员。
转载请注明原文地址:https://kaotiyun.com/show/ziNp777K
0

最新回复(0)