動態陣列封裝實現向量類

2021-07-04 17:31:30 字數 1900 閱讀 8239

定義了乙個名為vectordouble的類,它類似於基型別為double的乙個向量類。此類中有乙個私有成員變數,它是double型別的動態陣列;還有兩個int型別的成員變數max_count和count,分別表示向量的容量和向量的長度。

類中包含以下內容:

1. 3個建構函式:乙個是預設建構函式,它建立有50個元素的乙個動態陣列;乙個要獲取乙個int引數的建構函式,該引數指定了初始動態陣列中的元素數目;以及乙個複製建構函式。

2. 乙個析構函式。

3. 賦值操作符=的過載函式。

4. 判斷兩個物件是否相等==的過載函式,若要相等,count以及陣列元素的值必須相等,但max_count不一定相等。

5. 實現行為與向量類同名的成員函式:push_back,capacity,size,reserve和resize。

下面類的定義:

class vectordouble

;

1、建構函式的實現

vectordouble::vectordouble() : max_count(50)

vectordouble::vectordouble(int size) : max_count(size)

//複製建構函式

vectordouble::vectordouble(const vectordouble& vectordouble_object)

2、析構函式的實現

vectordouble::~vectordouble()

3、賦值操作符=的過載函式的實現

//過載賦值操作符

void vectordouble::operator = (const vectordouble& right_side_object)

4、判斷兩個物件是否相等==的過載函式的實現

bool vectordouble:: operator == (const vectordouble& object1)

return

true;

}else

return

false;

}

5、實現行為與向量類同名的成員函式的實現

push_back函式

void vectordouble::push_back(double d)

else

++count;

}

capacity函式

int vectordouble::capacity()

size函式

int vectordouble::size() 

reserve函式

void vectordouble::reserve(int new_max_count)

resize函式

void vectordouble::resize(int new_count)

}if( count

<= new_count && new_count <= max_count)

}if(new_count > max_count)

}count = new_count;

}

雖然沒有一一列出類的定義中宣告的函式,但是向量類的基本功能實現了,要想像c++定義的向量類功能一樣,還有待改進!

動態陣列類的封裝

標頭檔案 ifndef myarray h define myarray h include using namespace std class array void array free bool array invalidateindex int nindex 引數berase為true時,重繪...

43 陣列類封裝

main.cpp define crt secure no warnings include include myarray.h using namespace std void test01 獲取資料測試 for int i 0 i 10 i 設定值測試 array2 setdata 0,1000...

C 實現矩陣類和向量類

c 期末作業內容,寫完之後覺得過於臃腫,又重新搞了個新的。新的當作業交,舊的拿來給同學參考。問題描述 請仿照複數類,設計乙個矩陣類,設計矩陣類的構成元素 1.編寫建構函式完成初始化 2.編寫成員函式,讀入乙個矩陣,輸出乙個矩陣 3.編寫成員函式,計算兩個矩陣相加 相減 點乘 4.編寫成員函式,利用運...