OPP實驗三

Mthe發表於2024-11-04

任務一、

問題1

自定義了兩個類,分別是window和button類,引用了標準庫vector和string類

window---{string,button vector}

button----{string}

問題2

這個函式可以使用inline來修飾,它的邏輯簡單,使用可以最佳化程式

不可以使用const,內部的button和click都不是const型別

問題3

功能是建立一個有40個‘*’的字串

任務二、

問題1、

第一行初始化v1,第二行深複製,第三行,改變v1第0個元素的值

問題2、

同上,但是v2被宣告成了const,經過實驗,表示v2不可更改,v2中的元素不能更改

問題3、

39-43行程式碼,t1深複製v1的0號元素,列印v1的最後一個元素,t2同理,const我不加仍然可以執行

問題4、

vector中都是深複製,甚至二維的都是深複製

at()需要一個const成員函式作為介面,可以增加介面的豐富度(其他不太明白)

任務三

問題1、

是深複製、

問題2、

改成int&就沒用啦,因為返回的就無法繼續操作了

如果去掉了可以假設一個場景:
我們建立了一個const的物件,呼叫了這個const的at函式,但是可能會返回一個非const的解引用型別回來,

這個返回值是沒有const的,那麼我們的const就會被小賊篡改

相關文章