程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> oop-一道簡單的OOP題目……不會做……求源程序 半小時內速求……

oop-一道簡單的OOP題目……不會做……求源程序 半小時內速求……

編輯:編程綜合問答
一道簡單的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;

最佳回答:


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

???

jiangweifeng1997
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved