總結寒假了,寒假了o( ̄▽ ̄)ブ,已經回來在家好多天了。在家沒事想著沒事買本c++的題庫,做做題好好的練習練習自己邏輯思維以及實際的寫**的能力,今天這是打卡的第一天,話不多說上題!
每個注釋之後的一行語句有錯誤,改正這些錯誤,使程式的輸出結果為:1 2 3 4 5 6 7 8 9 10。題目程式的解釋如我在圖中的注釋所示:
**如下:
// proj1.cpp
#include
using
namespace std;
class
myclass
~myclass()
//設定myclass的析構函式對物件進行釋放
void
print()
const
//寫乙個列印輸出函式print()
private
://私有類
int*array;
int arraysize;};
intmain()
分析解題:
1、析構函式就是考查delete語句的用法,其一般形式為:delete[ ]+要釋放的指標。
2、沒什麼說的就是利用cout進行輸出,而cin使進行資料的寫入操作。
3、要聯絡前面myclass類的建構函式,注意到形參len沒有定義的預設值,因此要想使array動態陣列裡依此存放1,2,3,4,5,6,7,8,9,10,就需要給len賦值為10。
sortedarray是array的派生類,表示有序陣列。sortedarray重新定義了array中的add函式,以確保有序陣列中的元素始終按照公升序排列。請在程式中的橫線上填寫合適的**。
並且實現下述類定義:
成員函式 add 用於向陣列末尾新增乙個元素。
成員函式get用於獲取陣列中指定位置的元素。
資料成員a表示實際用於儲存資料的整型陣列。
資料成員size表示陣列容量,陣列中的元素個數最多不能超過size。
資料成員num表示當前陣列中的元素個數。
**如下:
#include
using namespace std;
class array
virtual ~
array()
virtual void
add(
int e)
}int
get(
unsigned
int i)
const
protected:
int*a;
unsigned
int size, num;};
class sortedarray : public array
virtual void
add(
int e)
//**********found**********
_______________;
break;}
i++;}
if(i == num)
a[i]
= e;
num++;}
};void
fun(array& a)
for(i =
0; i <
10; i++
) cout << endl;
}int
main()
分析解題:
首先題目的整體思路非常的清晰,每個成員函式的功能題目中給出,剩下的是填空。
1、有關鍵字virtual,說明該函式是虛函式,在array類的派生類裡肯定會有對add函式的定義。
有關鍵字return說明沒有返回值,add的意思是新增,它的形參是int e,綜上考察的就是虛函式virtual void add(int e)的定義,即新增乙個整型數e到a[num]中。即a[num]=e;
2、主要是array類的派生類sortarray類的建構函式的定義,定義之前要對基礎類進行初始化。即array(s);
3、有題可知sortedarray類是排序類,所以陣列a中的元素從小到大排序。在if( e < a[ i ] )條件下,要把i後的元素逐個後移一位,即為a[ j ]=a[ j-1 ];
4、主要考察虛函式virtual void add(int e )在派生類sortarray類中的定義,把插入的資料放在陣列a的第 i+1個位置,即a[ i ]=e;
源程式檔案如下所示,其中定義了用於表示二維向量的類myvector;程式應當顯示(6,8)
但程式有缺失部分,按照提示補充完整;
(1)在標誌下方是建構函式的定義,它用引數提供的座標對x和y進行初始化。
(2)在標誌下方是減法運算函式定義中的一條語句。兩個二維向量相減生成另乙個二維向量:其x座標等於兩向量x座標之差,其y座標等於y座標只差。
(3)在標誌下方語句功能是使變數v3獲得新值,他等於v1和v2之和。
**如下:
// proj3.cpp
#include
using std:
:ostream;
using std:
:cout;
using std:
:endl;
class myvector
;//**1** **********found**********
myvector:
:myvector
(double i,
double j):x
(i),
y(j)
myvector myvector:
:operator+
( myvector j)
myvector operator-
( myvector i, myvector j)
ostream& operator<<
( ostream& os, myvector v)
intmain()
分析解題:
1、根據提示只需要正確寫出建構函式在類外定義建構函式時要使用類名和作用域,即myvector::myvector。
2、過載運算子「-」的返回語句,返回值應為向量i 和 j 的差,即myvector(i.x-j.x,i.y-j.y);/
3、過載運算子「+」的使用,已經提示了返回v3是v2和v1的和,因為前面+號運算子已經重新定義過了,所以可以直接使用+號來連線。
以上就是今天做的操作題考試題庫_第一套時間有些倉促,就先大致這樣吧,再有什麼好的想法在加,時間也不早了,不說了,不說了?,困了,洗洗睡覺了(ง •_•)ง
C語言二級考試題庫
將陣列中有n個整數 要求把下標p的陣列元素平移到陣列最後 例子 1,2,3,4,5,6,7,8,9,10 p的值為3,則結果為 5,6,7,8,9,10,1,2,3,4 include define n 80 void fun int w,int p,int n w n 1 w i void mai...
OCP 071中文考試題庫 第1題
ocp 071中文考試題庫 cuug內部資料 第1題 本套題庫是ocp考試中的071 中文版 試題,由cuug整理,如有報考ocp認證意向,可以聯絡cuug諮詢老師。1 請選擇兩項。檢視employees表的說明 name null?type employee id not null number ...
python實現合工大試題庫刷題篇之驗證碼篇
最近,學校題庫 在登入頁面加了驗證碼,原來的不能用了。於是,和室友合作,他寫機器學習識別驗證碼,我來整合。他的github 思路是 把驗證碼識別程式放在雲伺服器上,做成api供本地呼叫。整個折騰過程遇到的問題 python是支援 while i 100這樣的語法的,以後不用再糾結如何在python裡...