面向?qū)ο蟪绦蛟O(shè)計(jì) C++上機(jī)考試A(含評(píng)分標(biāo)準(zhǔn))_第1頁
面向?qū)ο蟪绦蛟O(shè)計(jì) C++上機(jī)考試A(含評(píng)分標(biāo)準(zhǔn))_第2頁
面向?qū)ο蟪绦蛟O(shè)計(jì) C++上機(jī)考試A(含評(píng)分標(biāo)準(zhǔn))_第3頁
面向?qū)ο蟪绦蛟O(shè)計(jì) C++上機(jī)考試A(含評(píng)分標(biāo)準(zhǔn))_第4頁
面向?qū)ο蟪绦蛟O(shè)計(jì) C++上機(jī)考試A(含評(píng)分標(biāo)準(zhǔn))_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE1面向?qū)ο蟪绦蛟O(shè)計(jì)上機(jī)考試班級(jí):學(xué)號(hào):姓名:時(shí)間120分鐘說明:所有程序都來自教材中的例題,并對(duì)個(gè)別地方進(jìn)行修改,務(wù)必仔細(xì)閱讀程序。評(píng)分原則:除了特別說明外,每個(gè)題目如能得到正確結(jié)果,就得滿分,否則得零分。要求:集成編碼環(huán)境指定為VS2013,分析設(shè)計(jì)工具為POWERDESIGNER,要求將結(jié)果截屏粘貼在題目后面,并保存到一個(gè)PDF文件,其文件名格式為【學(xué)號(hào)_姓名.pdf】,最終提交這個(gè)文件。第一部分編碼調(diào)試(每題20分,共60分)1、編輯運(yùn)行程序編輯、編譯、連接下面的程序,最后運(yùn)行。答案:結(jié)果正確2結(jié)果正確20分2、調(diào)試程序調(diào)通下面的程序,只能完善Tdate類,不能修改main函數(shù)。#include<iostream>usingnamespacestd;classTdate{public: Tdate(inty){ init(y); } Tdate(inty,intm){ init(y,m); } Tdate(inty,intm,intd){ init(y,m,d); } voidprint(void){ cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; } ~Tdate(){ cout<<"析構(gòu):"; print(); }private: voidinit(inty=2024,intm=1,intd=1){ year=y; month=m; day=d; cout<<"構(gòu)造:"; print(); } intyear; intmonth; intday;};intmain(){ Tdatea; Tdateb(2023); Tdatec(2024,8); Tdated(2024,8,8);}答案:Tdate未定義無參構(gòu)造函數(shù),加上后編譯通過。Tdate(){ init();}加上無參構(gòu)造函數(shù),且能加上無參構(gòu)造函數(shù),且能運(yùn)行,20分結(jié)果正確20分3、編寫代碼根據(jù)下面的類圖和時(shí)序圖編寫類代碼和main函數(shù)代碼,并調(diào)試通過。答案:類正確類正確10分,main()正確5分,有運(yùn)行截圖5分第二部分設(shè)計(jì)程序(每題20分,共40分)1、使用類圖描述程序的靜態(tài)結(jié)構(gòu)1)閱讀下面的程序,畫出程序的類圖,建立程序的靜態(tài)模型。#include<iostream>usingnamespacestd;classTdate{public: Tdate(intyear,intmonth,intday){ this->year=year; this->month=month; this->day=day; cout<<"構(gòu)造Tdate:"; print(); } Tdate(constTdate&oldTdate){ memcpy(this,&oldTdate,sizeof(Tdate)); cout<<"拷貝構(gòu)造Tdate:"; print(); } ~Tdate(){ cout<<"析構(gòu)Tdate:"; print(); } voidprint(){ cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; }private: intyear; intmonth; intday;};classPerson{public: Person(stringname,constTdate&d){ this->name=name; birthday=newTdate(d); cout<<"構(gòu)造Person:"; print(); } ~Person(){ cout<<"析構(gòu)Person:"; print(); deletebirthday; } voidprint(){ cout<<name<<","; birthday->print(); }private: stringname; Tdate*birthday;};intmain(){ Tdated1(2001,6,1); Tdated2(2004,9,1); Personp1("張三",d1); Personp2("李四",d2);}類圖各2類圖各2分,連接1分2)生成代碼請(qǐng)將題中所有成員函數(shù)的實(shí)現(xiàn)代碼復(fù)制到其靜態(tài)模型,采用正向工程生成程序的源代碼,并與原來的源代碼進(jìn)行比較。5分5分1.將構(gòu)造函數(shù)Person(stringname,constTdate&d)的復(fù)制界面截圖;4個(gè)文件各2分2分2.調(diào)試PowerDesigner4個(gè)文件各2分2分3.貼出運(yùn)行結(jié)果圖。答案:1.2./************************************************************************Module:Tdate.h*Author:MrWong*Modified:2023年6月10日23:55:01*Purpose:DeclarationoftheclassTdate***********************************************************************/#if!defined(__上機(jī)_Tdate_h)#define__上機(jī)_Tdate_hclassTdate{public:Tdate(intyear,intmonth,intday);Tdate(constTdate&oldTdate);~Tdate();voidprint(void);protected:private:intyear;intmonth;intday;};#endif/************************************************************************Module:Person.h*Author:MrWong*Modified:2023年6月10日23:55:01*Purpose:DeclarationoftheclassPerson***********************************************************************/#if!defined(__上機(jī)_Person_h)#define__上機(jī)_Person_h單獨(dú)添加單獨(dú)添加#include<string>#include"Tdate.h"usingnamespacestd;classPerson{public:Person(stringname,constTdate&d);~Person();voidprint(void);protected:private:stringname;Tdate*birthday;};#endif/************************************************************************Module:Tdate.cpp*Author:MrWong*Modified:2023年6月10日23:55:01*Purpose:ImplementationoftheclassTdate***********************************************************************/單獨(dú)添加單獨(dú)添加#include"Tdate.h"#include<iostream>usingnamespacestd;//////////////////////////////////////////////////////////////////////////Name:Tdate::Tdate(intyear,intmonth,intday)//Purpose:ImplementationofTdate::Tdate()//Parameters://-year//-month//-day//Return:////////////////////////////////////////////////////////////////////////Tdate::Tdate(intyear,intmonth,intday){this->year=year; this->month=month; this->day=day; cout<<"構(gòu)造Tdate:"; print();}//////////////////////////////////////////////////////////////////////////Name:Tdate::Tdate(constTdate&oldTdate)//Purpose:ImplementationofTdate::Tdate()//Parameters://-oldTdate//Return:////////////////////////////////////////////////////////////////////////Tdate::Tdate(constTdate&oldTdate){memcpy(this,&oldTdate,sizeof(Tdate)); cout<<"拷貝構(gòu)造Tdate:"; print();}//////////////////////////////////////////////////////////////////////////Name:Tdate::~Tdate()//Purpose:ImplementationofTdate::~Tdate()//Return:////////////////////////////////////////////////////////////////////////Tdate::~Tdate(){cout<<"析構(gòu)Tdate:"; print();}//////////////////////////////////////////////////////////////////////////Name:Tdate::print()//Purpose:ImplementationofTdate::print()//Return:void////////////////////////////////////////////////////////////////////////voidTdate::print(void){cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}/************************************************************************Module:Person.cpp*Author:MrWong*Modified:2023年6月10日23:55:01*Purpose:ImplementationoftheclassPerson***********************************************************************/單獨(dú)添加單獨(dú)添加#include"Person.h"#include<iostream>usingnamespacestd;//////////////////////////////////////////////////////////////////////////Name:Person::Person(stringname,constTdate&d)//Purpose:ImplementationofPerson::Person()//Parameters://-name//-d//Return:////////////////////////////////////////////////////////////////////////Person::Person(stringname,constTdate&d){this->name=name; birthday=newTdate(d); cout<<"構(gòu)造Person:"; print();}//////////////////////////////////////////////////////////////////////////Name:Person::~Person()//Purpose:ImplementationofPerson::~Person()//Return:////////////////////////////////////////////////////////////////////////Person::~Person(){cout<<"析構(gòu)Person:"; print(); deletebirthday;}//////////////////////////////////////////////////////////////////////////Name:Person::print()//Purpose:ImplementationofPerson::print()//Return:void/////////////////////////////////////////////////

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論