面向?qū)ο蟪绦蛟O計課后習題_第1頁
面向?qū)ο蟪绦蛟O計課后習題_第2頁
面向?qū)ο蟪绦蛟O計課后習題_第3頁
面向?qū)ο蟪绦蛟O計課后習題_第4頁
面向?qū)ο蟪绦蛟O計課后習題_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章答案1.概念填空題1.1 類定義的關鍵字是 class 。類的數(shù)據(jù)成員通常指定為 私有 成員。類的函數(shù)成員通常指定為 公有 成員,指定為 公有 的類成員可以在類對象所在域中的任何位置訪問它們,類的 私有和保護 只能被該類的成員函數(shù)或友元函數(shù)訪問。1.2類的訪問限定符包括 public、 private 和 protected 。類成員默認的訪問方式是 private 。訪問限定符在類中 無 先后次序,各限定符 允許 (允許/不允許)多次出現(xiàn)。1.3 構造函數(shù)的任務是 建立對象 。類中可以有 多 個構造函數(shù),它們由 參數(shù) 區(qū)分。如果類說明中沒有給出構造函數(shù),則C+編譯器會提供構造函數(shù),該函數(shù) 不完成 (完成/不完成)對象初始化工作。1.4復制構造函數(shù)的參數(shù)是 對象的復制 ,當程序沒有給出復制構造函數(shù)時,編譯系統(tǒng)會提供 默認復制構造函數(shù) ,完成類對象的 復制 。復制構造函數(shù)被調(diào)用情況有 3 種。1.5析構函數(shù)在對象 釋放 時被自動調(diào)用。類中沒有定義析構函數(shù)時,編譯系統(tǒng)會提供一個默認的析構函數(shù)。該函數(shù) 不完成 (完成/不完成)具體對象的清理工作。2. 簡答題2.1 為什么說類與對象的概念是客觀世界的反映?2.2 簡單解釋什么是面向?qū)ο蟪绦蛟O計的封裝性。2.3 引用作為函數(shù)參數(shù)時為什么能實現(xiàn)兩個實參之間的數(shù)據(jù)交換?為什么對應實參不能為引用?為什么返回值為引用的函數(shù)可以作為左值?2.4 什么是默認的構造函數(shù)?默認的構造函數(shù)可以有多少個?2.5 復制構造函數(shù)用于哪3個方面?2.6 為什么在友元函數(shù)的函數(shù)體內(nèi)訪問對象成員時,必須用對象名加運算符”.”再加對象成員名?2.7 類的靜態(tài)數(shù)據(jù)成員與函數(shù)中的靜態(tài)成員有何異同?2.8 類的成員函數(shù)在什么情況下應該定義為私有的?這樣做的目的是什么?2.9 友元關系有何性質(zhì)?友元關系的優(yōu)點和缺點各有哪些?3.選擇題3.1 數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關操作組裝在一起,形成一個實體,這實體也就是( B )。A類 B對象 C函數(shù)體 D數(shù)據(jù)塊3.2 類的實例化是指( B )。A定義類B創(chuàng)建類的對象C指明具體類D調(diào)用類的成員3.3下列說法中正確的是( B )。A類定義中只能說明函數(shù)成員的函數(shù)頭,不能定義函數(shù)體 B類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義 C類中的函數(shù)成員在類體之外定義時必須要與類聲明在同一文件中 D在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員3.4有如下類定義:class sample int n;public:sample (int i=0):n(i) void setValue(int n0);;下列關于setValue成員函數(shù)的實現(xiàn)中,正確的是( B )。Asample:setValue(int n0)n=n0;Bvoid sample:setValue(int n0)n=n0;Cvoid setValue(int n0)n=n0;DsetValue(int n0)n=n0;3.5在下面的類定義中,錯誤的語句是( C )。class sample public: sample(int val);/ sample( ); / private:int a=2.5; / public:sample( ); /; ABCD3.6類的構造函數(shù)被自動調(diào)用執(zhí)行的情況是在創(chuàng)建該類的(C)。 A成員函數(shù)時 B數(shù)據(jù)成員時 C對象時 D友元函數(shù)時3.7(A)是析構函數(shù)的特征。 A一個類中只能定義一個析構函數(shù) B析構函數(shù)名與類名不同 C析構函數(shù)的定義只能在類體內(nèi) D析構函數(shù)可以有一個或多個參數(shù)3.8 在下列函數(shù)原型中,可以作為類AA構造函數(shù)的是( D )。 Avoid AA(int); Bint AA( ); CAA(int) const; DAA(int)3.9關于成員函數(shù)特征的下述描述中,(A)是錯誤的。 A成員函數(shù)一定是內(nèi)聯(lián)函數(shù) B成員函數(shù)可以重載 C成員函數(shù)可以設置參數(shù)的默認值 D成員函數(shù)可以是靜態(tài)的3.10不屬于成員函數(shù)的是(B )。 A靜態(tài)成員函數(shù) B友元函數(shù) C構造函數(shù) D析構函數(shù)3.11已知類A是類B的友元,類B是類C的友元,則(C )。 A類A一定是類C的友元 B類C一定是類A的友元 C類C的成員函數(shù)可以訪問類B的對象的任何成員 D類A的成員函數(shù)可以訪問類B的對象的任何成員3.12有如下類定義: class AAint a; public:int getRef( ) const return &a; /返回類型為int, return &a為地址int getValue( ) const return a; /void set(int n) consta=n; /常函數(shù)不能修改成員friend void show(AA aa) const couta=a;/常函數(shù)不能修改成員void h(int b) Test:b=b;/static int g( ) return a;/靜態(tài)函數(shù)要通過對象訪問成員private:int a;static int b;const int c;int Test:b=0;在標注號碼的行中,能被正確編譯的是(C)。A B C D4寫出程序程序執(zhí)行結果。4.1#includeusing namespace std;class Test public:Test( ) n+=2; Test( ) n-=3;static int getNum( ) return n;private:static int n;int Test:n=1;int main( )Test* p = new Test;delete p;cout”n=”Test:getNum( )endl;return 0;n=04.2#includeusing namespace std;class AAint n;public:AA(int k):n(k)int get( ) return n;int get( ) const return n+1;int main( )AA a(5);const AA b(6);couta.get()”,”b.get();return 0;574.3#includeusing namespace std;class MyClass public:int number;void set(int i);int number=3;void MyClass:set (int i)number=i;void main( )MyClass my1;int number=10;my1.set(5);coutmy1.numberendl;my1.set(number);coutmy1.numberendl;my1.set(:number);coutmy1.number;51034.4#includeusing namespace std;class Testprivate:static int val;int a;public:static int func( );void sfunc(Test &r);int Test:val=200;int Test:func( )return val+;void Test:sfunc(Test &r)r.a=125;coutResult3=r.aendl;void main( )coutResult1=Test:func( )endl;Test a;coutResult2=a.func()endl;a.sfunc(a);Result1=200Result2=201Result1=1255.編程題5.1 構造一個日期時間類(Timedate),數(shù)據(jù)成員包括年、月、日和時、分、秒,函數(shù)成員包括設置日期時間和輸出時間,其中年、月用枚舉類型,并完成測試(包括用成員函數(shù)和用普通函數(shù))。#include #include #include enum YRY2000,Y2001,Y2002,Y2003,Y2004,Y2005;/枚舉名必須是標識符enum MTJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec;class Timedateprivate:YR year;MT month;int date;int hh;int mm;int ss;public:Timedate()year=Y2000;month=Jan;date=1;hh=0;mm=0;ss=0;Timedate(YR a,MT b,int c)year=a;month=b;date=c;hh=12;mm=30;ss=0;void getdate(YR &,MT &,int &);/體會用引用的優(yōu)點,一次可返回3個值void gettime(int &,int &,int &);void putdate(YR ,MT ,int );void puttime(int ,int ,int );void list();void Timedate:getdate(YR &y,MT &m,int &d)y=year;m=month;d=date;void Timedate:gettime(int &a,int &b,int &c)a=hh;b=mm;c=ss;void Timedate:putdate(YR a,MT b,int c)year=a;month=b;date=c;void Timedate:puttime(int a,int b,int c)hh=a;mm=b;ss=c;void Timedate:list()/成員函數(shù)coutyear/month/date :;switch(year)case Y2000:cout2000;break;case Y2001:cout2001;break;case Y2002:cout2002;break;case Y2003:cout2003;break;case Y2004:cout2004;break;case Y2005:cout2005;break;switch(month)/,case Jan:cout/Jan;break;case Feb:cout/Feb;break;case Mar:cout/Mar;break;case Apr:cout/Apr;break;case May:cout/May;break;case Jun:cout/Jun;break;case Jul:cout/Jul;break;case Aug:cout/Aug;break;case Sep:cout/Sep;break;case Oct:cout/Oct;break;case Nov:cout/Nov;break;case Dec:cout/Dec;break;cout/dateendl;couthour:minite:second :;couthh:mm:ssendl;void show(Timedate &td)/普通函數(shù),體會兩者的不同YR year;MT month;int date,hh,mm,ss;td.getdate(year,month,date);td.gettime(hh,mm,ss);coutyear/month/date :;switch(year)case Y2000:cout2000;break;case Y2001:cout2001;break;case Y2002:cout2002;break;case Y2003:cout2003;break;case Y2004:cout2004;break;case Y2005:cout2005;break;switch(month)/,case Jan:cout/Jan;break;case Feb:cout/Feb;break;case Mar:cout/Mar;break;case Apr:cout/Apr;break;case May:cout/May;break;case Jun:cout/Jun;break;case Jul:cout/Jul;break;case Aug:cout/Aug;break;case Sep:cout/Sep;break;case Oct:cout/Oct;break;case Nov:cout/Nov;break;case Dec:cout/Dec;break;cout/dateendl;couthour:minite:second :;couthh:mm:ssendl;int main(int argc, char* argv)Timedate A(Y2004,Mar,3),B;A.list();B.list();B.putdate(Y2005,Oct,18);B.puttime(17,30,00);B.list();show(B);return 0;5.2 定義一個日期類Date,具有年月日等數(shù)據(jù)成員,顯示日期、加減天數(shù)等函數(shù)成員。注意需要考慮閏年。#include using namespace std;class Dateint year,month,day;static const int days;bool LeapYear();bool EndofMonth();public:Date(int=1900,int=1,int =1);void Increment(int );void Decrement(int);void SetDate(int,int,int);void Print();const int Date:days=0,31,28,31,30,31,30,31,31,30,31,30,31;Date:Date(int y,int m,int d)SetDate(y,m,d);void Date:SetDate(int y,int m,int d)year=(y=1900 & y=1 &m=1 & d=1 & d=daysmonth)?d:1;bool Date:LeapYear()return (year%400 = 0) | (year%4=0 & year%100!=0)? true:false;bool Date:EndofMonth()if(month=2 & LeapYear()return day=29;elsereturn day=daysmonth;void Date:Increment(int n)int i;for(i=1;i=n;i+)if(EndofMonth() & month=12)year+;month=day=1;else if(EndofMonth()month+;day=1;elseday+;void Date:Decrement(int n)int i;for(i=1;i=n;i+)if(day=1)if(month=1)year-; month=12; day=31;else if(month=3)day=LeapYear()?29:28; month=2;elseday=days-month;elseday-;void Date:Print()coutyear-month -day endl;void main()Date d1(2005,1,4),d2(2004,12,27);d1.Print();d1.Decrement(4);d1.Print();d2.Print();d2.Increment(70);d2.Print();5.3 定義一個圓類(Circle),屬性為半徑(radius)、圓周長和面積,操作為輸入半徑并計算周長、面積,輸出半徑、周長和面積。要求定義構造函數(shù)(以半徑為參數(shù),默認值為0,周長和面積在構造函數(shù)中生成)和復制構造函數(shù)。#include const double PI=3.1415;using namespace std;class Circledouble radius,length,area;public:Circle(double r=0)setr(r);length=2*PI*radius;area=PI*radius*radius;Circle(Circle& c)radius=c.radius ;length=c.length ;area=c.area ;void print()coutradius= radiusendl;coutlength= lengthendl;coutarea= areaendl;void setr(double r)radius=r;int main()Circle c1(10),c2(c1);c1.print();c2.print();return 0;5.4 設計一個學校在冊人員類(Person)。數(shù)據(jù)成員包括身份證號(IdPerson)、姓名(Name)、性別(Sex)、生日(Birth-day)和家庭住址(HomeAddress)。成員函數(shù)包括人員信息的錄入和顯示,還包括構造函數(shù)與復制構造函數(shù)。設計一個合適的初始值。#include #include const double PI=3.1415;using namespace std;struct dateint year,month,day;class Personchar ID12;char Name10;char Sex3;date Birth;char HomeAdd20;public:Person()ID0=Name0=Sex0=HomeAdd0=0;Birth.year=Birth.month=Birth.day=0;Person(char id,char name,char sex,date birth,char homeadd)strcpy(ID,id);strcpy(Name,name);strcpy(Sex,sex);Birth=birth;strcpy(HomeAdd,homeadd);Person(Person& p)strcpy(ID,p.ID);strcpy(Name,p.Name);strcpy(Sex,p.Sex);Birth=p.Birth;strcpy(HomeAdd,p.HomeAdd);void setID(char id)strcpy(ID,id);void setName(char name)strcpy(Name,name);void setSex(char sex)strcpy(Sex,sex);void setBirth(date birth)Birth=birth;void setHome(char homeadd)strcpy(HomeAdd,homeadd);void print()coutID= ID,Name= Name,Sex= Sex,;coutBirth= Birth.year-Birth.month-Birth.day,;coutHomeAddendl;int main()date birth;birth.year =1991;birth.month =6;birth.day =12;Person p1(,陳建華,男,birth,中吳大道1801號);p1.print ();Person p2;p2.print ();return 0 ;5.5設計如下類:1)建立一個Point類,表示平面中的一個點;建立一個Line類,表示平面中的一條線端,內(nèi)含兩個Point類的對象;建立Triangle類,表示一個三角形,內(nèi)含三個Line類的對象構成一個三角形。2)設計三個類的相應的構造函數(shù)、復制構造函數(shù),完成初始化和對象復制3)設計Triangle類的成員函數(shù)完成三條邊是否能構成三角形的檢驗和三角形面積計算,面積顯示。#include #include const double PI=3.1415;using namespace std;class Pointdouble X,Y;public:Point(double x=0,double y=0)X=x;Y=y;Point(Point& p)X=p.X ; Y=p.Y ;double getx()return X;double gety()return Y;class LinePoint pstart,pend;double length;public:Line(Point p1,Point p2):pstart(p1),pend(p2)setl();Line(Line& l):pstart(l.pstart),pend(l.pend)setl();double getl()return length;void setl()double deltax,deltay;deltax=pstart.getx()-pend.getx();deltay=pstart.gety()-pend.gety();length=sqrt(deltax*deltax+deltay*deltay);class TrangleLine lfirst,lsecond,lthird;double area;public:Trangle(Line lf,Line ls,Line lt):lfirst(lf),lsecond(ls),lthird(lt)area=0;bool check()double l1,l2,l3;l1=lfirst.getl();l2=lsecond.getl();l3=lthird.getl();return l1l2+l3 & l2l1+l3 & l3l1+l2;void calarea()if (check()double s;double l1,l2,l3;l1=lfirst.getl();l2=lsecond.getl();l3=lthird.getl();s=(l1+l2+l3)/2.0;area=sqrt(s*(s-l1)*(s-l2)*(s-l3);void print()coutarea= areaendl;int main()Point p1,p2(4,0),p3(0,3);Line l1(p1,p2),l2(p1,p3),l3(p2,p3);Trangle t(l1,l2,l3);if(t.check ()t.calarea();t.print();return 0;5.6建立一個分數(shù)類Fraction。分數(shù)類的數(shù)據(jù)成員包括分子和分母。成員函數(shù)包括構造函數(shù)、復制構造函數(shù)。構造函數(shù)要對初始化數(shù)據(jù)進行必要的檢查(分母不能為0)。將分數(shù)顯示成 “a/b”形式的輸出函數(shù)。成員函數(shù)包括約分、通分、加、減、乘、除、求倒數(shù)、比較大小、顯示和輸入。完成以上所有成員函數(shù)并在主函數(shù)中進行檢驗。#include using namespace std;class Fractionint numerator,denominator;int common_divisor();/計算最大公約數(shù)void contracted();/分數(shù)化簡public: Fraction(int=0,int=1);Fraction(Fraction&);Fraction Add(Fraction);Fraction Sub(Fraction);Fraction Mul(Fraction);Fraction Div(Fraction);bool operator=(Fraction);bool operator=(Fraction);bool operator=(Fraction);bool operator=(f);bool operator(Fraction f)return !(operator=(f);bool operator!=(Fraction f)return !(operator=(f);Fraction Updown();void Set(int=0,int=1);void disp()coutfraction= numerator/denominatorendl;Fraction:Fraction(int num,int deno)Set(num, deno);Fraction:Fraction(Fraction& f)numerator=f.numerator;denominator=f.denominator;Fraction Fraction:Add(Fraction f)Fraction Temp(numerator*f.denominator+f.numerator*denominator,denominator*f.denominator);Temp.contracted();return Temp;Fraction Fraction:Sub(Fraction f)Fraction Temp(numerator*f.denominator-f.numerator*denominator,denominator*f.denominator);Temp.contracted();return Temp;Fraction Fraction:Mul(Fraction f)Fraction Temp(numerator*f.numerator,denominator*f.denominator);Temp.contracted();return Temp;Fraction Fraction:Div(Fraction f)Fraction Temp(f.denominator,f.numerator );Temp=Mul(Temp);Temp.contracted();return Temp;int Fraction:common_divisor()int residue;int dividend=numerator,divisor=denominator; while(residue=dividend%divisor)dividend=divisor;divisor=residue;return divisor;void Fraction:contracted()int residue=common_divisor();numerator/=residue;denominator/=residue;if(denominator=(Fraction f)Fraction Temp=Sub(f);return (Temp.numerator =0);bool Fraction:operator=(Fraction f)Fraction Temp=Sub(f);return (Temp.numerator =0);bool Fraction:operator=(Fraction f)Fraction Temp=Sub(f);return (Temp.numerator =0);Fraction Fraction:Updown()int p;Fraction Temp;if (numerator!=0)p=numerator;numerator=denominator;denominator=p;Temp.numerator=numerator;Temp.denominator=denominator;return Temp;void Fraction:Set(int num,int deno)if(deno!=0)numerator=num;denominator=deno;contracted();void main()Fraction f1(1,3),f2=2,f3,f4,f5(2,8),f6,f7(8,3),f8(8,3),f9(1,4);f4=f1.Add(f2);f4.disp();f6=f2.Div(f5).Div(f7);f6.disp();f5.disp();f6=f1.Sub(f2);f6.disp();f9.Set(5,3);f9.disp();f9.Updown();f9.disp();cout(f7=f8)endl;cout(f7=f1)endl;cout(f5=f9)endl;coutf2)endl;第5章答案1.概念填空題1.1運算符重載是對已有的運算符賦予 多重 含義,使同一個運算符在作用于 不同類型 對象時導致不同的行為。運算符重載的實質(zhì)是 函數(shù)重載 ,是類的 多態(tài)性 特征。1.2可以定義一種特殊的類型轉(zhuǎn)換函數(shù),將類的對象轉(zhuǎn)換成基本數(shù)據(jù)類型的數(shù)據(jù)。但是這種類型轉(zhuǎn)換函數(shù)只能定義為一個類的 成員 函數(shù)而不能定義為類的友元函數(shù)。類類型轉(zhuǎn)換函數(shù)既沒有 參數(shù) ,也不顯式給出 返回類型 。類類型函數(shù)中必須有 return 表達式 的語句返回函數(shù)值。一個類可以定義 多個 類類型轉(zhuǎn)換函數(shù)。1.3運算符重載時其函數(shù)名由 operator運算符 構成。成員函數(shù)重載雙目運算符時,左操作數(shù)是 對象 ,右操作數(shù)是 函數(shù)參數(shù) 。2.簡答題2.2簡述運算符重載的規(guī)則。2.2簡述重載單目運算符+、-,前置和后置時的差別。2.3 C+中重運算符是否都可以重載?是否都可以重載成類的成員函數(shù)?是否都可以重載成類的友元函數(shù)?2.4 構造函數(shù)作為類型轉(zhuǎn)換函數(shù)的條件是什么。3選擇題3.1在下列運算符中,不能重載的是(B) A.! B. sizeof C. new D. delete3.2 不能用友員函數(shù)重載的是(A)。 A.= B.= C.= D.+3.3下列函數(shù)中,不能重載運算符的函數(shù)是(B)。 A.成員函數(shù) B.構造函數(shù) C.普通函數(shù) D.友員函數(shù)3.4如果表達式+i*k時中的”+”和”*”都是重載的友元運算符,則采用運算符函數(shù)調(diào)用格式,該表達式還可表示為(B)。 Aoperator*(i.operator+(),k)Boperator*(operator+(i),k) Ci.operator+().operator*(k) Dk.operator*(operator+(i)3.5已知在一個類體中包含如下函數(shù)原型:VOLUME operator-(VOLUME)const;下列關于這個函數(shù)的敘述中,錯誤的是(B )。 A這是運算符-的重載運算符函數(shù) B這個函數(shù)所重載的運算符是一個一元運算符 C這是一個成員函數(shù) D這個函數(shù)不改變數(shù)據(jù)成員的值 3.6在表達式xy*z中,+是作為成員函數(shù)重載的運算符,*是作為非成員函數(shù)重載的運算符。下列敘述中正確的是(C )。 Aoperator+有兩個參數(shù),operator*有兩個參數(shù) Boperator+有兩個參數(shù),operator*有一個參數(shù) Coperator+有一個參數(shù),operator*有兩個參數(shù) Doperator+有一個參數(shù),operator*有一個參數(shù)4.寫出下列程序運行結果4.1#include #using namesoace std;class T public: T( )a=0; b=0; c=0; T( int i,int j,int k) a=i; b =j;c=k; void get( int &i,int &j,int &k) i=a; j=b; k=c; T operator *(T obj); private: int a,b,c; ; T T:operator *(T obj) T tempobj; tempobj.a=a * obj.a; tempobj.b=b * obj.b; tempobj.c=c * obj.c; return tempobj; int main()T obj1( 1,2,3),obj2( 5,5,5),obj3; int a,b,c; obj3=obj1 * obj2; obj3.get( a, b, c); cout”(obj1 * obj2):t” ”a=”at“b=”b t”c=”ctendl; (obj2 * obj3 ).get( a, b, c); cout“(obj2obj3):t” “a=”at”b=”bt“c=”ctendl; (obj1*obj2):a=5b=10c=15(obj2*obj3):a=25b=50c=755編程題51將第4章練習5.7的分數(shù)類Fraction的算術運算改寫成運算符重載函數(shù),使分數(shù)類能實現(xiàn)通常的分數(shù)+、-、*、/等運算。#include using namespace std;class Fractionint numerator,denominator;int common_divisor();/計算最大公約數(shù)void contracted();/分數(shù)化簡public: Fraction(int=0,int

溫馨提示

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

評論

0/150

提交評論