欧美精品手机一级在线播放,中文字幕在线欧美日韩,欧美精品中文字幕亚洲专区,国产免费观看网站

    <mark id="hrvb1"><strong id="hrvb1"></strong></mark>
  • <td id="hrvb1"></td>

    C++的復(fù)習(xí)題

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

    C++的復(fù)習(xí)題

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

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

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

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

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

      2.下列情況中,不會調(diào)用拷貝構(gòu)造函數(shù)的是( )

      A)用一個對象去初始化同一類的另一個新對象時

      B)將類的一個對象賦予該類的另一個對象時

      C)函數(shù)的形參是類的對象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時

      D)函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用時

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

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

      4. 如果類A被說明為類B的友元,則( )

      A)類A的成員即類B的成員 B) 類A的成員函數(shù)可以訪問類B的成員 C類B的成員函數(shù)可以訪問類A的成員 D)類B是類A的友元

      5.友元函數(shù)重載一個運(yùn)算符時,如果參數(shù)表中沒有任何參數(shù),則說明該運(yùn)算符是( )

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

      6.假定X為一個類,執(zhí)行X a[3],*p[2];語句會自動調(diào)用該類的`構(gòu)造函數(shù)( )次

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

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

      A)如果一個派生類私有繼承其基類,則該派生類對象不能訪問基類的保護(hù)成員

      B)派生類的成員函數(shù)可以訪問基類的所有成員

      C)基類對象可以賦值給派生類對象

      D)如果派生類沒有實(shí)現(xiàn)基類的一個純虛函數(shù),則該派生類是一個抽象類

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

      A)一個派生類和基類中都有某個同名成員,在派生類中對這個成員的訪問可能出現(xiàn)二義性

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

      C)基類和派生類同時出現(xiàn)同名函數(shù),也存在二義性問題

      D)一個派生類是從兩個基類派生而來的,而這兩個基類又有一個共同的基類,對該基類成員進(jìn)行訪問時,可能出現(xiàn)二義性

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

      A)純虛函數(shù)時一種特殊的虛函數(shù),它沒有具體實(shí)現(xiàn)

      B)抽象類是指具有純虛函數(shù)的類

      C)一個基類中說明有虛函數(shù),該基類的派生類一定不再是抽象類

      D)抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出

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

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

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

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

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

      2.定義在類內(nèi)部的函數(shù)為類默認(rèn)狀態(tài)的_________,在類外部每次調(diào)用該函數(shù)時,相應(yīng)的函數(shù)代碼都會在調(diào)用函數(shù)位置展開。

      3.要想把類的一般成員函數(shù)說明為類的常成員函數(shù),則應(yīng)該使用關(guān)鍵字_________。 4.當(dāng)一個類的成員函數(shù)被調(diào)用時,該成員函數(shù)的_________指向調(diào)用它的對象。 5.C++中模板可分為_________和_________。

      三、閱讀程序,寫出執(zhí)行結(jié)果(本題有5個小題,每小題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個小題,每題6分,共18分)

      1.對于下面定義的類Myclass,請在函數(shù)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.在下面橫線處填上適當(dāng)語句,完成類中靜態(tài)數(shù)據(jù)成員的定義。

      class test

      {

      private:

      static int x;

      public:

      };

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

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

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

      的分量x和y對應(yīng)相加,然后返回作為相加結(jié)果的新對象。請補(bǔ)充完整:

      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++的復(fù)習(xí)題】相關(guān)文章:

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

    c++程序?qū)嵙?xí)報告模板03-14

    c++泛型算法的總結(jié)11-08

    c++程序員簡歷模板05-19

    監(jiān)管合同復(fù)習(xí)題06-17

    小學(xué)數(shù)學(xué)精選復(fù)習(xí)題06-16

    《納米材料》復(fù)習(xí)題06-16

    因數(shù)與倍數(shù)復(fù)習(xí)題06-16

    數(shù)學(xué)的復(fù)習(xí)題訓(xùn)練06-16