大二上課件面向?qū)ο骳 final_第1頁
大二上課件面向?qū)ο骳 final_第2頁
大二上課件面向?qū)ο骳 final_第3頁
大二上課件面向?qū)ο骳 final_第4頁
大二上課件面向?qū)ο骳 final_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C+程序設(shè)計(jì)試題系專業(yè)班學(xué)號一、寫出下列程序的執(zhí)行結(jié)果:(每小題 5 分,共 50 分) 1、#include class slei; double d;public:void setdata(n) i=n;void setdata(double x) d=x; void disp()cout”i=”i”,d=”dendl;void main()sle s;s.setdata(10); s.setdata(15.6);s.disp();:2、#include double& fn(const double&pd)sic double ad=32; ad+=pd;cout”fn being ca

2、lled the value is:”pdendl; return ad;void main()double a=345.6; double &pa=fn(a); coutpaendl;a=55.5;fn(a); coutpaendl;:3、#include class spublic:s sslele(); le();le();void display();protected:x;sle:sle()x=0;cout”constructing normallyn”;sle:sle(m)x=m; cout”constructing winumber:”xendl;sle:sle()cout”de

3、structingn”;void sle:display()cout”display a number:”xendl;void main()s sle obj1;le obj2(20);obj1.display(); obj2.display();:4、#include class complexpublic:complex(double ,double ); complex(complex&); complex();complex operator +(complex&); complex& operator =(complex&); void display();protected:dou

4、ble real; double image;plex(double x,double y)real=x,image=y;plex(complex& x)cout”Runing copy constructorn” real=x.real;image=x.image;plex()real=image=0.0;complex complex:operator +(complex& x)return complex(real+x.real,image+x.image);complex& complex:operator =(complex&x)cout”Runing assign operator

5、n”; real+=x.real;image+=x.image; return *this;viod complex:display()coutreal”+”image”i”endl;void main()complex c1(2,5); complex c2(c1); complex c3; c3=c1+c2; c3.display();:5、#include template class spublic:s s slele();le(T x)n=x;le& operator +(const sle&);void disp()cout”n=”nendl;protected:T n;templ

6、ate sle & sle:operator +(const sle &s)sic sle temp;temp.n=n+s.n; return temp;void main()sle s1(10),s2(20),s3;s3=s1+s2; s3.disp();:6、#include class basen;public:base(a)cout”constructing base class wi n=a;number=”aendl;base()cout”destructing base class”endl; ;class derive:public basem;public:derive(a,

7、b):base(a)cout ”constructing derive class winumber=”bendl;derive()cout”destructing derive class”endl;void main()derive s(1,2);:7、# include class vehiclewheels; float weight;public:virtual void message()cout”vehicle messagen”;class car:public vehiclepassengers;public:void message() cout”car messagen”

8、;class truck:public vehiclegoods;public:void message() coutmessage(); ptr=&obj1;ptr-message(); ptr=&obj2;ptr-message():8、#include void fc()trythrow “sos”;catch()cout”sostry throw 1;”endl;catch(const char * p)cout”sos string”endl;void fb()*q=new tryfc(); catch()delete q;throw;100;void fa()*p=new tryf

9、b(); catch()delete p;throw;void main()tryfa(); catch()100;cout”an error occurred while running”endl;:9、#include #include class studentidpublic:studentid(id=0)value=id;cout”Assigning student id”valueendl;studentid()cout”destructing id”valueendl;protected:value;class studentpublic:student(char *pname=

10、”noname”,=0):id()cout ”constructing student”pnameendl;strcpy(name,pname); namesizeof(name)-1=0;student()cout”destructing student”endl;protected:char name20; studentid id;void main()student s(“randy”,9818);:10、#include #include class spublic:sslele()cout”constructing objectn”; le()cout”destructing ob

11、jectn”;protected:x;void main()sle * p1, *p2;p1=new s p2=(s delete p1;le;le *) malloc(sizeof(sle);free(void *) p2);:二、排除下列程序的錯誤(每處錯誤 3 分,共 30 分)1、請以下程序的 3 處錯誤的位置#include void f1();void f2( void f2(x); x,y=0);&);void f2(const void main()f1();f2(3,4);f2(3);void f1(x)coutxendl;void f2(x)coutxendl;void f

12、2(x,y)coutx”,”yendl;void f2(const& x)coutx+endl;2、請以下程序的 4 處錯誤的位置#include class slepublic:sle (xx,zz);z=zz;void disp()coutxyzendl; sic void f1()coutxyzendl;void sle()cout”destructing object”endl;protected:x;sicy=100; const z;void main()const sle a2(3, 5); a2.disp();3、請以下程序的 3 處錯誤的位置#include class ba

13、seprotected:x;*p;public:base(xx);p=newx;base()delete p;class derive:public baseprotected:y;* p1;public:derive(xx,yy)p=new y=yy;p1=new;yy;derive()delete p1;void main()base b110; base *p1; derive *p2;p2=new derive(10,10); p1=p2;free p1;三、程序設(shè)計(jì)題(20 分)下面是一個日期類的實(shí)現(xiàn)程序,試對以下程序增加對運(yùn)算符號“”的重載函數(shù),使語句行 1 處能夠正確輸出“2003 年 7 月 5 日 2002 年 6 月 5 日”字樣。(要求不能修改類定義

溫馨提示

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

評論

0/150

提交評論