jiangweifeng1997 2015-04-11 03:19 采纳率: 100%
浏览 1828
已采纳

一道简单的OOP题目……不会做……求源程序 半小时内速求……

有个虚拟足球俱乐部的球队经济人又新招了5名队员,他写了下面的代码,为新队员建了
一个数组,并输出数组的所有元素。其中字符串是队员的名字,而数字则是队员的年龄。
不过有个队员的名字他竟不记得了(他的名字只好用"???"表示,年龄为0)。
(1)请你为``队员"这种对象定义一个类(队员信息的输出格式自定),使程序能编译通
过(不应通过修改main()函数来完成此要求)。要求每个队员的姓名和年龄都是常量。
int main ( )
{
Member newCommers[5] = { Member( "Zhang San", 22),
Member( "Li Si", 19),
Member( "Wang Wu", 18),
Member ( "Zhao Liu", 24) };
for ( int i=0; i<5; i++)
cout << newCommers[i] << endl;
return 0;
}
(2)经济人在主程序中增加了下面的语句,想通过姓名的拼写来查询队员年龄。请你继
续他的工作,完成程序其他部分。
string name[5] = { "Zhang San", "Li Si",
"Wang Wu", "Zhao Liu",
"Pin Yin" };
MemberList list(newCommers , 5);
for (i=0; i<5; i++)
cout << list[name[i]] << endl;

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-04-11 03:28
    关注

    http://codepad.org/lTwqgCbo

     #include <iostream>
    #include <string>
    using namespace std;
    
    class Member
    {
        public:
        int age;
        string name;
        Member() { age = 0; name=""; }
        Member(string n, int a)
        {
            name=n;
            age=a;
        }
        friend ostream& operator << (ostream& output, Member& m)
        {
           if (m.age == 0) 
               output<<"???"<<endl;
           else
               output<<m.name<<" "<<m.age<<endl;
           return output;
        }
    };
    int main()
    {
    Member newCommers[5] = { Member( "Zhang San", 22),
    Member( "Li Si", 19),
    Member( "Wang Wu", 18),
    Member( "Zhao Liu", 24) };
    for ( int i=0; i<5; i++)
    cout << newCommers[i] << endl;
    return 0;
    }
    

    Zhang San 22

    Li Si 19

    Wang Wu 18

    Zhao Liu 24

    ???

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么