<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 計算機二級C++練習題:程序改錯題

    時間:2025-12-11 03:44:55 試題

    計算機二級C++練習題:程序改錯題

      為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C++練習題:程序改錯題,供參考練習,預祝考生們考出自己理想的成績!

      計算機二級C++練習題:程序改錯題01

      使用VC6打開考生文件夾下的工程kt9_1,此工程包含一個源程序文件kt9_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果如下:

      4,5

      20

      源程序文件清單如下:

      #include

      classA

      {protected:

      intn,m;

      public:

      voidset(inta,intb){m=a;n=b;}

      voidshow(){cout<<m<<","<<n<<endl;}

      /**********found**********/}

      classB:publicA

      {ints;

      public:

      voidset(){s=m*n;}

      voidshows(){cout<<s<<endl;}};

      voidmain()

      {

      Bb;

      /**********found**********/

      b.set();

      b.show();

      b.set();

      /**********found**********/

      b.show();

      }

      【參考答案】

      (1)在“}”后添加分號

      (2)將b.set();改為:b.A::set(4,5);

      (3)將b.show();改為:b.shows();

      【試題解析】

      (1)主要考查對類定義格式的掌握,類的'結尾應該使用";";

      (2)主要考查對基類與派生類函數調用關系的掌握,根據所要求的輸出結果,應該調用的函數為類A的set,而不是類B自身的set函數,應該避免調用的二義性;

      (3)主要考查對繼承與派生的理解,由所要求輸出結果可知正確:b.shows()。

      計算機二級C++練習題:程序改錯題02

      使用VC6打開考生文件夾下的工程kt10_1,此工程包含一個源程序文件kt10_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果為:

      classBase

      classD1

      classD2

      classD3

      finBase

      源程序文件kt10_1.cpp清單如下:

      #include

      classBase

      {public:

      Base(){cout<<"classBase"<<endl;}

      voidf(){cout<<"finBase"<<endl;}};

      classD1:virtualpublicBase

      {public:

      D1(){cout<<"classD1"<<endl;}

       voidf(){cout<<"finD1"<<endl;}};

      /**********found**********/

      classD2:publicBase

      {public:

       D2(){cout<<"classD2"<<endl;}};

      /**********found**********/

      classD3::publicD1,publicD2

      {public:

       D3(){cout<<"classD3"<<endl;}};

      voidmain()

      {D3d;

       /**********found**********/

      d.f();}

      【參考答案】

      (1)將classD2:publicBase

      改為:classD2:virtualpublicBase

      (2)將classD3::publicD1,publicD2

       改為:classD3:publicD1,publicD2

      (3)將d.f();改為:d.Base::f();

      【試題解析】

      (1)主要考查對虛基類的理解,虛基類可以解決二義性的問題,其定義方式是在繼承列表中使用virtual關鍵字,使用虛基類可以避免程序運行中對基類函數調用的不惟一;

      (2)主要考查對類的定義方法的掌握,“::”為作用域符,此處應該使用“:”,因為后面是繼承列表;

      (3)主要考查對虛基類函數調用過程的'理解,只有使用"::"限定才能訪問基類函數,否則將會調用自身的函數,如果該類沒有該函數的定義,則會自動調用其父類的該函數,所以必須使用“::”符號。

    【計算機二級C++練習題:程序改錯題】相關文章:

    計算機二級C++練習題:改錯題10-31

    計算機二級C++練習題:改錯題及答案03-06

    計算機二級C上機:程序改錯題11-13

    計算機二級C++程序題及答案解析12-29

    計算機二級C上機考試程序改錯題及答案11-20

    2016計算機二級《C++》練習題及答案11-29

    2016計算機二級《C++》上機練習題02-03

    2017計算機二級C++考前練習題06-18

    2017計算機二級C++強化練習題08-27

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人