女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學(xué)習(xí) 培訓(xùn)課程
試卷名稱 2012年上半年程序員考試下午真題試題(案例分析)
考試中心《2012年上半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2012年上半年
試題題型【分析簡答題】
試題內(nèi)容

閱讀以下說明和C++代碼,填補C++代碼中的空缺(1)~(6),將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
已知某公司按周給員工發(fā)放工資,其工資系統(tǒng)需記錄每名員工的員工號、姓名、工資等信息。其中一些員工是正式的,按年薪分周發(fā)放(每年按52周計算);另一些員工是計時工,以小時工資為基準(zhǔn),按每周工作小時數(shù)核算發(fā)放。
下面是實現(xiàn)該工資系統(tǒng)的C++代碼,其中定義了四個類:工資系統(tǒng)類PayRoll,員工類Employee,正式工類Salaried和計時工類Hourly,Salaried和Hourly是Employee的子類。
【C++代碼】
   //頭文件和域名空間略
   const int EMPLOYEE_NUM=5;
   class Employee {
        protected:
              int empCode;            //員工號
              string name;            //員工姓名
              double salary;          //周發(fā)放工資
        public:
              Employee(const int empCode, const string &name ) {
                   this->empCode=empCode;    this->name=name;
              }
              virtual ~Employee(){ }
  virtual void pay()=0;
              double getSalary() { return this->salary; }
  };
  class Salaried  (1)  {
     private:     double payRate;    //年薪
     public:
       Salaried(const int empCode, const string &namet double payRate):Employee (empCode, name)   {
                     this->payRate=payRate;
       }
       void pay() {
           this->salary= (2) ;   //計算正式員工的周發(fā)放工資數(shù)
           cout << this->name << ":" << this->salary<<endl;
  };
  class Hourly  (3)  {
       private:
            double payRate;            //小時工資數(shù)
  int hours;                 //周工作小時數(shù)
     public:
         Hourly (const int empCode. const string &name, int hours, double payRate)
         :Employee(empCode, name) {
            this->payRate=payRate;    this->hours=hours;
     }
     void pay()  {
          this->salary= (4) ;  //計算計時工的周發(fā)放工資數(shù)
          cout << this->name << ":" << this->salary << endl;
     }
  };
  class PayRoll  {
     public:
         void pay (Employee*e[])  {
              for (int i=0;  i<EMPLOYEE_NUM; i++)  {
                   e[i]->pay();
             }
     }
};
int main()  {
     PayRoll payRoll=new PayRoll;
      (5)  employees [EMPLOYEE_NUM]= {
            new Salaried (1001, "Zhang San", 58000.00),
            //此處省略對其他職工對象的生成
            new Hourly (1005, "Li", 12, 50.00),
     };
     payRoll->pay( (6) );
     double total=0.0;
     for (int i=0;  i<EMPLOYEE_NUM; i++)
        { total+=employees[i]->getSalary();}    //統(tǒng)計周發(fā)放工資總額
        cout<<"總發(fā)放額="<<total<<endl;
        delete payRoll;  return 0;
}


相關(guān)試題

推薦文章
合作網(wǎng)站內(nèi)容