能否写一下这个的流程图
#include<iostream>
using namespace std;
class Person{
public:
Person(int i=0){n1=i;}
int n1;
};
class Money:public Person{
public:
int n2;
double ave;
Money(int i=0,int j=0):Person(i),n2(j){ave=(double)n2/n1;}
friend ostream &operator<<(ostream &output,Money &c){
cout<<"人数为:"<<c.n1<<" "<<"奖金平均数:"<<c.ave<<endl;
return output;
}
Money &operator>(Money &c){
if(n2>c.n2)return *this;
else return c;
}
};
int main(){
int x,y,p,q;
cout<<"请输入两个Person的人数和总奖金数"<<endl<<"第一个:";
cin>>x>>y;cout<<"第二个:"; cin>>p>>q;
Money obj1(x,y),obj2(p,q);
cout<<obj1<<obj2<<endl;
cout<<"平均奖金较大的为:"<<(obj1>obj2).n2;
}
其中,Money类继承自Person类,包含人数(n1)、总奖金数(n2)和平均奖金数(ave)三个成员变量。Money类中重载了输出运算符<<
和大于运算符>
,分别实现输出对象的人数和平均奖金数,以及比较两个对象的平均奖金数,返回平均奖金较大的对象。通过创建Money类对象obj1和obj2,实现对两个Person的奖金平均数的比较。
开始 ->
输入两个Person的人数和总奖金数 ->
创建Money类对象obj1和obj2 ->
输出obj1和obj2的人数和平均奖金数 ->
判断哪个对象的平均奖金更大 ->
输出平均奖金较大的对象的奖金数 ->
结束
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
访问顶点v;visited[v]=1;
w=顶点v的第一个邻接点;
while(w存在)
{
if(w未被访问)
从顶点w出发递归执行该算法;
w=顶点v的下一个邻接点;
}
v出栈;