首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为: Common denominator is 2
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为: Common denominator is 2
admin
2017-02-21
45
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为:
Common denominator is 2
要求:补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
C1ass 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的友元函数,所以它可以直接访问a和b
//********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.b?x.a:x.b; //此处为取出x.a与x.b中的最小值 for(int i =2;i <=min;i++) //从i到min遍历数组 if(x.a%i==0&&x.b%i==0) //如i能同时整除x.a来的x.b,则仅回i return i; return-1;
解析
主要考查考生对友元函数的掌握情况,友元函数可以访问类的私有数据成员,题目要求函数求出两个数据成员的大于1的最小公因子,从2开始往上算,因此要同时可以被两个私有成员整除,这里用取余符号完成,取余为0即为整除。
转载请注明原文地址:https://kaotiyun.com/show/PBAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取任意数据类型。
C++程序是从【】函数开始执行的。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
以下程序的输出结果是#include<iostream.h>voidmain(){charx=040;cout<<(X<<1);}
拷贝构造函数的参数一般是
下列函数的运行结果是#include<iostream.h>intf(inta,intB){intc;if(a>b)c=1elseif(a=b)c=0;
以下不正确的定义语句是
每个C++程序中都必须有且仅有一个
分布式数据库系统不具有的特点是
随机试题
第一次国共合作的政治基础是()。
没函数f(x)=,则x=0是f(x)的()
治疗麻风病的广谱抗菌药是
下列不属于眩晕治本之法的是
监理单位的质量监理与承包商的质量控制是不同的两件事情,不能互相取代,而且缺一不可。其中,包括()三个方面的意义。
数字出版对社会文化的影响,主要表现在()。
行政执行可划分为准备、具体实施和评估三大阶段,其中实施阶段是关键环节。以下不属于行政执行实施阶段的环节是()。
设随机变量服从几何分布,其分布律为P{X=k)=(1-p)k-1p,0<p<1,k=1,2,…,求EX与DX.
设函数f(x)在[0,3]上连续,在(0,3)内存在二阶导数,且2f(0)=∫02f(x)dx=f(2)+f(3)。证明存在η∈(0,2),使f(η)=f(0);
Formanypeopletoday,readingisnolongerrelaxation.Tokeepuptheirworktheymustreadletters,reports,tradepublication
最新回复
(
0
)