freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)c試驗(yàn)題目-資料下載頁(yè)

2025-06-10 02:16本頁(yè)面
  

【正文】 double w, double h)。 double Area()。 void Show()。private: double rectWidth。 double rectHeight。}。Rectangle::Rectangle(double w, double h): rectWidth(w), rectHeight(h){}double Rectangle::Area(){ return rectWidth * rectHeight。}void Rectangle::Show(){ cout W: rectWidth 。 H: rectHeight 。 Area: Area() endl。}// 由Shape類(lèi)派生得到矩形類(lèi)class Eclipse : public Shape{public: Eclipse(double w, double h)。 double Area()。 void Show()。private: double rectWidth。 double rectHeight。}。Eclipse::Eclipse(double w, double h): rectWidth(w), rectHeight(h){}double Eclipse::Area(){ return rectWidth * rectHeight * PI / 4。}void Eclipse::Show(){ cout W: rectWidth 。 H: rectHeight 。 Area: Area() endl。}int main(){ // 創(chuàng)建具有指定元素個(gè)數(shù)的抽象指針數(shù)組 int shNum。 cin shNum。 Shape** shArr = new Shape*[shNum]。 // 根據(jù)輸入的信息依次創(chuàng)建對(duì)應(yīng)的形狀對(duì)象 char shType。 // 形狀類(lèi)別:R矩形;E橢圓 double w, h。 // 外接矩形的寬度和高度 for(int i=0。 ishNum。 i++) { cin shType w h。 switch(shType) { case 39。R39。: { shArr[i] = new Rectangle(w,h)。 break。 } case 39。E39。: { shArr[i] = new Eclipse(w,h)。 break。 } } } // 輸出對(duì)象信息 for(int i=0。 ishNum。 i++) { shArr[i]Show()。 } // 比較所有形狀對(duì)象,輸出面積相等的兩個(gè)形狀對(duì)象對(duì)應(yīng)的數(shù)組下標(biāo) for(int i=0。 ishNum1。 i++) { for(int j=i+1。 jshNum。 j++) { if(*shArr[i] == *shArr[j]) { cout Area of Shape[ i ] is equal to Shape[ j ] endl。 } } } // 采用選擇排序法將所有形狀對(duì)象按面積從大到小排序 int k。 Shape* shTemp。 for(int i=0。 ishNum1。 i++) { k = i。 for(int j=i+1。 jshNum。 j++) { if(*shArr[j] *shArr[k]) { k =j。 } } shTemp = shArr[i]。 shArr[i] = shArr[k]。 shArr[k] = shTemp。 } // 輸出排序后的對(duì)象信息 for(int i=0。 ishNum。 i++) { shArr[i]Show()。 } // 銷(xiāo)毀對(duì)象 for(int i=0。 ishNum。 i++) { delete shArr[i]。 } delete[] shArr。 return 0。}標(biāo)題:虛函數(shù)時(shí)限:3000ms內(nèi)存限制:10000K總時(shí)限:3000ms描述: 利用虛函數(shù)實(shí)現(xiàn)多態(tài): (1)設(shè)計(jì)Person類(lèi),要求具有用于表示姓名的保護(hù)數(shù)據(jù)成員:string szName; 實(shí)現(xiàn)信息打印的公有成員函數(shù):void Print()。其中,Print函數(shù)設(shè)計(jì)為虛函數(shù),輸出的信息格式為:“Person 姓名”。 (2)從Person類(lèi)派生Student類(lèi),添加用于表示學(xué)號(hào)的保護(hù)數(shù)據(jù)成員:int iNumber;重定義用于信息打印的公有成員函數(shù):void Print()。其中,Print函數(shù)輸出的信息格式為:“Student 姓名 學(xué)號(hào)”。 (3)從 Person類(lèi)派生Teacher類(lèi),添加用于表示教齡的保護(hù)數(shù)據(jù)成員:int iYear;重定義用于信息打印的公有成員函數(shù):void Print()。其中,Print函數(shù)輸出的信息格式為:“Teacher 姓名 教齡”。 (4)從Student類(lèi)派生Graduate類(lèi),添加用于表示研究方向的保護(hù)數(shù)據(jù)成員:string szResearch;重定義用于信息打印的公有成員函數(shù):void Print()。其中,Print函數(shù)輸出的信息格式為:“Graduate 姓名 研究方向”。 在main函數(shù)中根據(jù)用輸入的整數(shù)動(dòng)態(tài)創(chuàng)建一個(gè)Person類(lèi)的對(duì)象指針數(shù)組。用戶(hù)依次輸入對(duì)象信息(對(duì)象類(lèi)別及其相應(yīng)的數(shù)據(jù)成員值),根據(jù)對(duì)象類(lèi)別動(dòng)態(tài)創(chuàng)建相應(yīng)的對(duì)象并賦給相應(yīng)的對(duì)象指針數(shù)組元素。全部錄入后,根據(jù)用戶(hù)輸入要顯示的對(duì)象信息在數(shù)組中的位置,調(diào)用Print函數(shù)在屏幕上打印出相應(yīng)對(duì)象的信息。如果用戶(hù)輸入“exit”,則退出。輸入:對(duì)象指針數(shù)組的長(zhǎng)度;對(duì)象類(lèi)型及對(duì)象信息(輸入方式見(jiàn)輸入樣例);要顯示的對(duì)象在數(shù)組中的位置;exit。輸出:用戶(hù)要求顯示的對(duì)象信息。輸入樣例:4Person ZhangStudent Zhao 200905Graduate Li 200905 DataMiningTeacher Luo 1002exit輸出樣例:Person ZhangGraduate Li 200905 DataMining提示:基類(lèi)的成員函數(shù)Print()定義成虛函數(shù)。include iostreaminclude stringinclude cstdlibusing namespace std。class Person{public: Person(const stringamp。 name)。 virtual void Print() const。protected: string szName。}。Person::Person(const stringamp。 name):szName(name){}void Person::Print() const{ cout Person szName endl。}class Student : public Person{public: Student(const stringamp。 name, int number)。 void Print() const。protected: int iNumber。}。Student::Student(const stringamp。 name, int number):Person(name),iNumber(number){}void Student::Print() const{ cout Student szName iNumber endl。}class Teacher : public Person{public: Teacher(const stringamp。 name, int year)。 void Print() const。protected: int iYear。}。Teacher::Teacher(const stringamp。 name, int year):Person(name),iYear(year){}void Teacher::Print() const{ cout Teacher szName iYear endl。}class Graduate : public Student{public: Graduate(const stringamp。 name, int number, string major)。 void Print() const。protected: string szResearch。}。Graduate::Graduate(const stringamp。 name, int number, string major): Student(name, number), szResearch(major){}void Graduate::Print() const{ cout Graduate szName iNumber szResearch endl。}int main(){ // 對(duì)象指針數(shù)組長(zhǎng)度 int psNum。 cin psNum。 // 對(duì)象指針數(shù)組 Person* *psArr = new Person*[psNum]。 // 對(duì)象類(lèi)型、姓名、學(xué)號(hào)、教齡、研究方向 string szType, szName, szMajor。 int iNumber, iYear。 // 根據(jù)輸入的對(duì)象信息創(chuàng)建不同類(lèi)型的對(duì)象 for(int i=0。 ipsNum。 i++) { cin szType。 if(szType == Person) { cin szName。 psArr[i] = new Person(szName) 。 } else if(szType == Student) { cin szName iNumber。 psArr[i] = new Student(szName, iNumber)。 } else if(szType == Teacher) { cin szName iYear。 psArr[i] = new Teacher(szName, iYear)。 } else if(szType == Graduate) { cin szName iNumber szMajor。 psArr[i] = new Graduate(szName, iNumber, szMajor)。 } else { } } // 需要打印信息的對(duì)象下標(biāo) string szIdx。 int objIdx。 cin szIdx。 while(szIdx != exit) { // 對(duì)象下標(biāo) objIdx = atoi(())。 objIdx = max(0, min(objIdx, psNum))。 // 輸出對(duì)象信息 psArr[objIdx]Print()。 cin szIdx。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1