c++數(shù)組類模板(棧內(nèi)存)

#ifndef _ARRAY_H_

成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),宿城網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:宿城等地區(qū)。宿城做網(wǎng)站價(jià)格咨詢:18980820575

#define _ARRAY_H_

/*

*實(shí)現(xiàn)一個(gè)數(shù)組類模板,在棧上

*why

*2016/9/5

*/

template

< typename T, int N >

class Array

{

private:

T m_array[N];

public:

int length(); //獲取數(shù)組長度

bool set_array(T value, int index);  //設(shè)置數(shù)組元素內(nèi)容

bool get_array(T& value, int index);//獲取數(shù)組元素內(nèi)容

T& operator [](int index); //重載[]操作符,方便數(shù)組對象的操作

T operator [](int index) const; //如果用戶定義的是const的數(shù)組對象,那么訪問數(shù)組元素時(shí),就需要用const修飾的成員函數(shù)

virtual ~Array();//析構(gòu)函數(shù)最好定義成虛函數(shù),可以讓繼承此類的類重寫這個(gè)析構(gòu)函數(shù)。當(dāng)然這里可以不是vitrual的,因?yàn)槿绻麡?gòu)造函數(shù)是private而不是protected,

//就是不想讓這個(gè)類被繼承,所以可以不用vitrual,但如果構(gòu)造函數(shù)等是protected的,說明是想被繼承的,如果想被繼承,那么析構(gòu)函數(shù)最好是virtual的

};

template 

< typename T, int N >

int Array<T, N>::length()

{

return N;

}

template 

< typename T, int N >

bool Array<T, N>::set_array(T value, int index)

{

bool ret = (0 <= index) && (index < N);

if (ret)

{

m_array[index] = value; 

}

return ret;

}

template 

< typename T, int N >

bool Array<T, N>::get_array(T& value, int index)

{

bool ret = (0 <= index) && (index < N);

if (ret)

{

value = m_array[index];

}

return ret;

}

template 

< typename T, int N >

T& Array<T, N>::operator[](int index)

{

return m_array[index];

}

template 

< typename T, int N >

T Array<T, N>::operator[](int index) const

{

return m_array[index];

}

template 

< typename T, int N >

Array<T, N>::~Array()

{

}

#endif

本文標(biāo)題:c++數(shù)組類模板(棧內(nèi)存)
標(biāo)題URL:http://bm7419.com/article18/gigggp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、關(guān)鍵詞優(yōu)化網(wǎng)站排名、商城網(wǎng)站、微信小程序、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管