97骚碰,毛片大片免费看,亚洲第一天堂,99re思思,色好看在线视频播放,久久成人免费大片,国产又爽又色在线观看

C++的復習題

時(shí)間:2021-06-13 13:28:29 試題 我要投稿
  • 相關(guān)推薦

C++的復習題

  一、單項選擇題(本大題共10小題,每小題2分,共20分)

  在每小題列出的四個(gè)備選項中只有一個(gè)是符合題目要求的,請將其代碼填寫(xiě)在題后的括號內。錯選、多選或未選均無(wú)分。

  1.下列關(guān)于類(lèi)的說(shuō)法中,錯誤的是( )

  A)類(lèi)是一種用戶(hù)自定義的數據類(lèi)型 B)如果不作特別聲明,類(lèi)所有成員均為私有類(lèi)型

  C)任何一個(gè)對象只能屬于一個(gè)具體的類(lèi) D)只有類(lèi)中的成員函數才能存取類(lèi)中的私有數據

  2.下列情況中,不會(huì )調用拷貝構造函數的是( )

  A)用一個(gè)對象去初始化同一類(lèi)的另一個(gè)新對象時(shí)

  B)將類(lèi)的一個(gè)對象賦予該類(lèi)的另一個(gè)對象時(shí)

  C)函數的形參是類(lèi)的對象,調用函數進(jìn)行形參和實(shí)參結合時(shí)

  D)函數的返回值是類(lèi)的對象,函數執行返回調用時(shí)

  3.在C++中,用于實(shí)現運行時(shí)多態(tài)性的是( )

  A)內聯(lián)函數 B)重載函數 C)模板函數 D)虛函數

  4. 如果類(lèi)A被說(shuō)明為類(lèi)B的友元,則( )

  A)類(lèi)A的成員即類(lèi)B的成員 B) 類(lèi)A的成員函數可以訪(fǎng)問(wèn)類(lèi)B的成員 C類(lèi)B的成員函數可以訪(fǎng)問(wèn)類(lèi)A的成員 D)類(lèi)B是類(lèi)A的友元

  5.友元函數重載一個(gè)運算符時(shí),如果參數表中沒(méi)有任何參數,則說(shuō)明該運算符是( )

  A)一元運算符 B)二元運算符 C)重載錯誤 D)選項A)和選項B)都有可能

  6.假定X為一個(gè)類(lèi),執行X a[3],*p[2];語(yǔ)句會(huì )自動(dòng)調用該類(lèi)的`構造函數( )次

  A)2 B)3 C)4 D)5

  7.下列有關(guān)繼承和派生的敘述中,正確的是( )

  A)如果一個(gè)派生類(lèi)私有繼承其基類(lèi),則該派生類(lèi)對象不能訪(fǎng)問(wèn)基類(lèi)的保護成員

  B)派生類(lèi)的成員函數可以訪(fǎng)問(wèn)基類(lèi)的所有成員

  C)基類(lèi)對象可以賦值給派生類(lèi)對象

  D)如果派生類(lèi)沒(méi)有實(shí)現基類(lèi)的一個(gè)純虛函數,則該派生類(lèi)是一個(gè)抽象類(lèi)

  8.關(guān)于對多繼承的二義性的描述中,錯誤的是( )

  A)一個(gè)派生類(lèi)和基類(lèi)中都有某個(gè)同名成員,在派生類(lèi)中對這個(gè)成員的訪(fǎng)問(wèn)可能出現二義性

  B)解決二義性的最常用的方法是對成員名的限定法

  C)基類(lèi)和派生類(lèi)同時(shí)出現同名函數,也存在二義性問(wèn)題

  D)一個(gè)派生類(lèi)是從兩個(gè)基類(lèi)派生而來(lái)的,而這兩個(gè)基類(lèi)又有一個(gè)共同的基類(lèi),對該基類(lèi)成員進(jìn)行訪(fǎng)問(wèn)時(shí),可能出現二義性

  9.下列關(guān)于純虛函數和抽象類(lèi)的描述中,錯誤的是( )

  A)純虛函數時(shí)一種特殊的虛函數,它沒(méi)有具體實(shí)現

  B)抽象類(lèi)是指具有純虛函數的類(lèi)

  C)一個(gè)基類(lèi)中說(shuō)明有虛函數,該基類(lèi)的派生類(lèi)一定不再是抽象類(lèi)

  D)抽象類(lèi)只能作為基類(lèi)來(lái)使用,其純虛函數的實(shí)現由派生類(lèi)給出

  10.下列關(guān)于模板的敘述中,錯誤的是( ) A)模板聲明中的第一個(gè)符號總是關(guān)鍵字template

  B)在模板聲明中用 < > 括起來(lái)的部分是模板的形參表 C)類(lèi)模板不能有數據成員

  D)在一定條件下函數模板的實(shí)參可以省略

  二、填空題(本大題共6空,每空2分,共12分)

  1._________是一種特殊的成員函數,它主要用來(lái)為對象分配空間,對類(lèi)的成員進(jìn)行初始化并執行對象的其它內部管理操作。

  2.定義在類(lèi)內部的函數為類(lèi)默認狀態(tài)的_________,在類(lèi)外部每次調用該函數時(shí),相應的函數代碼都會(huì )在調用函數位置展開(kāi)。

  3.要想把類(lèi)的一般成員函數說(shuō)明為類(lèi)的常成員函數,則應該使用關(guān)鍵字_________。 4.當一個(gè)類(lèi)的成員函數被調用時(shí),該成員函數的_________指向調用它的對象。 5.C++中模板可分為_(kāi)________和_________。

  三、閱讀程序,寫(xiě)出執行結果(本題有5個(gè)小題,每小題6分,共30分)

  1. #includeclass sample{

  int n;

  public:

  sample(int i){n=i; } void add( ){s+=n;} static int s; void dis( ){ cout<<s<<endl; } }; 2.

  int sample ::s=0

  void main() { sample a(2),b(5),c(8); a. add( ); b. add( ); c. dis( ); }

  #includeclass base {

  int n; public:

  base(int a) {

  cout<<”constructing base class with a number=”<<a<<endl; n=a; }

  ~base()

  {cout<<”destructing base class”<< endl; }

  2

  };

  class derive:public base { int m; public: derive(int a,int b):base(a) { cout <<”constructing derive class with a number=”<<b<<endl; } ~derive() { cout<<”destructing derive

  class”<<endl;} };

  void main()

  3.

  class string{ char *name; int length; public: ……

  virtual void show() { cout<<name<<" "; } };

  class de_string:public string { int age; public: …… void show() { string::show();

  4.

  #includeusing namespace std; class Base {public: Base(int x,int y) { a=x;

  b=y; }

  void show()

  { cout<<"Base:"<<a<<";"<<b<<endl;

  }

  private: int a,b;

  };

  class Derived:public Base {

  { derive s(1,2);

  }

  cout<<"The age is:"<<age<<" "; } }; main()

  { string s1("Mike "), *ptr1; de_string s2("Steven ",20), *ptr2; ptr1=&s1; ptr1->show(); ptr1=&s2; ptr1->show(); ptr2=&s2; ptr2->show(); return 1 ; }

  public:

  Derived(int x,int y,int z):Base(x,y),c(z) { } void show() { cout<<"Derived:"<<c<<endl;

  }

  private: int c;

  }; int main() { Base b(20,10),*pb; Derived d(30,40,50); pb=&b;

  pb->show(); 3

  5.

  pb=&d; pb->show(); } return 0;

  #include

  using namespace std;

  class Base1

  {public:

  };

  class Base2

  {public:

  };

  class Level1:public Base2,virtual public Base1

  {public:

  Level1() {cout<<"class Level1"<<endl;}}; Base2() {cout<<"class Base2"<<endl; } Base1() {cout<<"class Base1"<<endl; }

  class Level2:public Base2,virtual public Base1

  {public:

  };

  class Toplevel:public Level1,public Level2

  {public:

  Toplevel() {cout<<"class TopLevel"<<endl; }}; Level2() {cout<<"class Level2"<<endl;}

  void main()

  {

  Toplevel obj;

  }

  四、完成程序題(本大題有3個(gè)小題,每題6分,共18分)

  1.對于下面定義的類(lèi)Myclass,請在函數f( )中添加對象成員把n的值修改為50。 4

  class Myclass

  {

  private:

  int n;

  public:

  Myclass (___①_____) {n=x;}

  void SetNum( int nl ) {n=nl;}

  };

  int f( )

  {

  Myclass *ptr=new Myclass(45);

  _____②_____;

  }

  2.在下面橫線(xiàn)處填上適當語(yǔ)句,完成類(lèi)中靜態(tài)數據成員的定義。

  class test

  {

  private:

  static int x;

  public:

  };

  _____①______;//將x的值初始化為10

  _____②_______{return x;} //定義靜態(tài)成員函數

  3. 下列是二維向量vector2D的定義,其中作為成員函數重載的運算符"+"的功能是將兩向量

  的分量x和y對應相加,然后返回作為相加結果的新對象。請補充完整:

  Class vector2D {

  double x;

  double y;

  public:

  vector2D( double x0=0,double y0=0):x(x0),y(y0){ }

  void show( ){cout<<’(’<<x<<’,’<<y<<’)’;}

  vector2D operator+(vector2D);

  };

  Vector2D _①___operator+(vector 2D a){

  return vector2D(_②___); static int getX( );

【C++的復習題】相關(guān)文章:

c++程序畢業(yè)實(shí)習報告03-03

c++程序實(shí)習報告模板03-14

c++泛型算法的總結11-08

c++程序員簡(jiǎn)歷模板05-19

監管合同復習題06-17

小學(xué)數學(xué)精選復習題06-16

《納米材料》復習題06-16

因數與倍數復習題06-16

數學(xué)的復習題訓練06-16