設計乙個陣列模板類(myarray),完成對不同型別元素的管理
#pragma once
template
<
class
t>
class
myarray
//拷貝構造
myarray
(const myarray & arr)
}//過載 操作符 arr[0]
t&operator
(int index)
//尾插法
void
push_back
(const t & val)
this
->paddress[
this
->m_size]
= val;
this
->m_size++;}
void
pop_back()
this
->m_size--;}
intgetsize()
//析構
~myarray()
}private
: t * paddress;
//指向乙個堆空間,這個空間儲存真正的資料
int m_capacity;
//容量
int m_size;
// 大小};
測試**:
class
person
person
(string name,
int age)
public
: string mname;
int mage;};
void
printmyarrayint
(myarray<
int>
& arr)
cout << endl;
}void
printmyperson
(myarray
& personarr)}
myarray<
int>
myarrayint(10
);for(
int i =
0; i <
9; i++
) myarrayint.
push_back
(100);
printmyarrayint
(myarrayint)
;myarray
myarrayperson(10
);person p1
("德瑪西亞",30
);person p2
("提莫",20
);person p3
("孫悟空",18
);person p4
("趙信",15
);person p5
("趙雲",24
);myarrayperson.
push_back
(p1)
; myarrayperson.
push_back
(p2)
; myarrayperson.
push_back
(p3)
; myarrayperson.
push_back
(p4)
; myarrayperson.
push_back
(p5)
;
60 C 比較string類字串
如果使用string類字串而不是c 風格字串,比較起來將簡單些,因為類設計讓您能夠使用關係運算子進行比較。這之所以可行,是因為類函式過載 重新定義 了這些運算子。後面將介紹如何將這種特性加入到類設計中,但從應用的角度說,我們限制只需直到可以將關係運算子用於string物件即可。下面的程式通過修改上乙...
60 陣列類模板
模板引數可以是數值型引數 非型別引數 template void func t a n 使用模板引數定義區域性陣列 func 數值型模板引數的限制 變數不能作為模板引數,浮點數 計算機內部表示不精確 不能作為模板引數,類物件不能作為模板引數。本質 模板引數是在編譯階段被處理的單元,因此,在編譯階段必...
牛客練習賽60 C 操作集錦
整理的演算法模板 acm演算法模板總結 分類詳細版 有一款自走棋有26種操作,每種操作我們都用a,b,c,d,x,y,za,b,c,d,x,y,za,b,c,d,x,y,z的符號來代替.比如對於abababababab,長度為222且本質不同的結果有ab,aa,ba,bbab,aa,ba,bbab,...