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

admin2016-08-19  28

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

选项

答案1 int min=x.a
解析 主要考查考生对友元函数的掌握情况,友元函数可以访问类的私有数据成员,题目要求函数求出两个数据成员的大于1的最小公因子,从2开始往上算,因此要同时可以被两个私有成员整除,这里用取余符号完成,取余为0即为整除。
转载请注明原文地址:https://kaotiyun.com/show/M4Np777K
0

最新回复(0)