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

正文內容

面向對象程序設計復習試題(答案)-資料下載頁

2025-04-02 23:57本頁面
  

【正文】 st{coutPiano::Printendl。} }。 class Guitar :public InstruIment { pub1ic: void Print() const{coutGuiur::Printendl。} }。 void Tone(__Instrument obj__)//第二個要求改成 Instrument amp。obj { ()。__ } void main() { Guitar g。 Tone(g)。 Piano p。 Tone(p)。 } (1)輸出結果為 : Instrument::Print Instrument::Print (2)輸出結果為 : Guitar::Print Piano::Print 對虛函數使用對象指針或引用調用 ,系統(tǒng)使用 __動態(tài) __聯(lián)編 :使用對象調用時 ,系統(tǒng)使用__靜態(tài) __聯(lián)編。 1 將下列程序補充完整。 include class convert { public: convert(double I){va11=I。} ____ virtual void pute()=0。 ____ protected: double val1。 double va12: }。 //liters to gallons class l_to_g:public convert { public: __ l_to_g(double I):convert(I){} ____ void pute() { va12=va11/。 coutva11liters is val2gdIons.endl。 } }。 //Fahrenheit to Celsius class f_to_c:public convert { public: f_to_c(double I):convert(I){} voidamp。 pute() { va12=(va1132)*5/9。 coutva11“Fahrenheit is”va12“Celsius.”endl。 } }。 void fun(__convertamp。 f____) { ()。 } void main() { l_to_g lgobj(4)。 f_to_c fcobj(70)。 fun(lgobj)。 fun(fcobj)。 } 1 下列程序的運行結果如下 : Derive139。s Print() called. Derive239。s Print() caIIed. 根據結果將程序補充完整。 include class Base { public: Base(int I){b=I。} __ virtual Print()=0。 ____ protected: int b。 } class Derive1:public Base { public: __ Derive1(intamp。 I):Base(I){} ___ void Print() { coutDerive139。s Print() called.endl。 } }。 class Derive2:public Base { public: Derive2(int I):Base(I){} void Print(){cout“Derive2?s Print() called.”endl。} }。 void fun(__Base *obj ____) { objPrint()。 }。 void main() { Derive1 *d1=new Derive1(1)。 Derive2 *d2=new Derive2(2)。 fun(d1)。 fun(d2)。 } 1 在一個成員函數內調用一個虛函數時 ,對該虛函數的調用進行 _動態(tài) __聯(lián)編。 1 帶有 __純虛函數 __的類稱為抽象類 ,它只能作為 __基類 __來使用。 A、 成員函數重載與虛函數的區(qū)別 B、 靜態(tài)聯(lián)編和動態(tài)聯(lián)編的含義 C、 純虛函數和抽象類的定義及其關系 D、 抽象類的特點 寫出下列程序的運行結果。 include class Base { public: Base(int i){x=i。coutBase:xendl。} virtual ~Base(){cout~Base:xendl。} private: int x。 }。 class Derived :public Base { public: Derived(int i,int j):Base(i){y=j。coutDerived:yendl。} ~Derived(){cout~Derived:yendl。} private: int y。 }。 void main() { Base *b1=new Base(15)。 delete b1。 Base *b2=new Derived(20,25)。 delete b2。 } 答案 Base:15 ~Base:15 Base:20 Derived:25 ~Derived:25 ~Base:20 閱讀下列程序 ,回答后面提出的問題。 include class Base { public: Base():x(0),y(0){} Base(int I,int j):x(I),y(j){} int GetX() const{return x。} int GetY() const{return y。} virtual void Print() const{coutx=x y=yendl。} virtual ~Base(){Print()。} private: int x,y。 }。 class Derived :public Base { public: Derived():z(0){} Derived(int I,int j,int k):Base(I,j),z(k){} void Print() const {coutx+z=Base::GetX()+z y+z=Base::GetY()+zendl。} ~Derived(){Print()。} private: int z。 }。 void main() { Base *d1=new Derived。 d1Print()。 Base *d2=new Derived(10,20,30)。 d2Print()。 delete d2。 delete d1。 } 答案 x+z=0 y+z=0 x+z=40 y+z=50 x+z=40 y+z=50 x=10 y=20 x+z=0 y+z=0 x=0 y=0 閱讀下列程序 ,回答后面提出的問題。 include class Vehicle { public: void SetColor(int c){color=c。} virtual void Move(){coutVehicle moving.endl。} private: int color。 }。 class Car :public Vehicle { public: void Move(){coutCarmoving.endl。} }。 class Bus :public Vehicle { public: void Move(){coutBus moving.endl。} }。 class SportsCar:public Car { }。 class Coupe :public Car { public: void Move(){coutCoupe moving.endl。} }。 void main() { Vehicle *vec。 vec=new Car。 vecMove()。 delete vec。 vec=new Bus。 vecMove()。 delete vec。 vec=new SportsCar。 vecMove()。 delete vec。 vec=new Coupe。 vecMove()。 delete vec。 } 答案: Carmoving. Bus moving. Carmoving. Coupe moving. 運算符重載 友元運算符 objobj2 被 C++編譯器解釋為 ( A ) 。 A)operator(obj1,obj2) B)(obj1,obj2) C)(obj1) D)(obj2) 下面對 C++運算符的正確的描述是 ( D )。 A)只有類成員運算符 B)只有友元運算符 C)只有非成員和非友元運算符 D)上述三者都有 下列關于 C++運算符函數的返回類 型的描述中 ,錯誤的是 ( C)。 A)可以是類類型 B)可以是 int 類型 C)可以是 void 類型 D)可以是 float 類型 重載賦值操作符時 ,應聲明為 ( C) 函數。 A)友元 B)虛 C)成員 D)多態(tài) 在一個類中可以對一個操作符進行 ( D) 重載。 A)1 種 B)2 種以下 C)3 種以下 D)多種 下列關于運算符重載的描述中 ,正確的是 ( D) 。 A)運算符重載可以改變運算符的操作數的個數 B)運算符重載可以改變優(yōu)先級 C)運算符重載可以改變結合性 D)運算符重載不可以改變語法結構 下列運算符中 , ( C) 運算符在 C++中不能重載。 A)= B)() C):: D)delete 下列運算符中 , ( A) 運算符在 C++中不能重載。 A〕 ?: B)[] C)new D)amp。amp。 在重載運算符函數時 ,下面 ( D) 運算符必須重載為類成員函數形式。 A)+ B) C)++ D) 下列運算符不能用友元函數重載的是 ( B )。 A)+ B)= C)* D) 下面對友元的錯誤描述是( D ) A) 關 鍵字 friend 用于聲明友元 B) 一個類的成員函數可以是另一個類的友元 C) 友元函數訪問對象的成員不受訪問特性影響 D) 友元函數通過 this 指針訪問對象成員 .如果類 A被說明成類 B的友元,則( C ) A)類 A的成員即是類 B 的成員 B)類 B的成員即是類 A 的成員 C)類 A的成員函數可以訪問類 B 的所有成員 D)類 B的成員函數可以訪問類 A的所有成員 .在 C++中不能被重載的一組運算符是:( A) A):: ?: . sizeof B)?: . sizeof ++ C):: ?: new delete D)++ ?: sizeof 要在類的對象上使用運算符,除了運算符 __=__和 __amp。__以外,其他的運算符都必須被重載。 在 C++中 ,只能重載為類的成員函數的運算符是 ___=__、 __() __、 __[ ]__、 ___。 運算符 ()與運算符 []必須重載為 __類的成員函數 ___。 利用成員函數對二元運算符重載 ,其左操作數 為 __this 指針指向的當前對象 __,右操作數為 __成員函數參數 __。 下列程序定義了一實部為 mal,虛部為 imag的復數類 plex,并在類中重載了復數的 +、操作。請將下列程序補充完整。 Class Complex { public: Complex(double r=,double I=){__ real=r。imag=I。___} __Complex__operator +(Complex)。 __friend Complex____operator (Complex,Complex)。 private: double real,imag。 }。 ___Complex Complex::operator +(Complex c) { return Complex(__real+,imag+)。 }。 ___Complex__
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1