问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为:
Common denominator is 2
要求:补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
class FriFunClass
{
int a, b;
public:
FriFunClass(int i, int j) { a=i; b=j;}
friend int FriFun (FriFunClass x);
//友元函数
};
void writeToFile(const char *);
//proj3.cpp
#include <iostream>
using namespace std;
#include "prj3.h"
int FriFun (FriFunClass x)
{
//******** 333********
//由于函数FriFun()是类FriFunClass
//******** 666********
}
int main ( )
{
FriFunClass n(10, 20);
if (FriFun (n))
cout <<"Common denominator is "<<FriFun(n)<<"\n";
else cout <<"No common denominator.\n";
writeToFile("");
return 0;
}
【参考答案】
int min=x.a<x.bx.a:x.b; //此处为取出x.a与x.b中的最小值 for(int i=2; i<......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)