一、問題描述:
1、用c++實現乙個陣列類,型別和大小可設;提供越界檢查;支援整體賦值.......
2、為其提供棧介面適配功能,使其能作為std::stack的容器
二、問題分析:
三、實現
//2008-6-13
#ifndef __yarray_h__
#define __yarray_h__
#include namespace ylib
//為實現t2不為t的型別的一般賦值
template yarray& operator=(const yarray& rhs)
reference operator(size_t i)
const_reference operator(size_t i) const
size_t size() const
iterator begin()
const_iterator begin() const
iterator end()
const_iterator end() const
//以某個值填充整個陣列
void fillwith(const t& value)
// swap 型別必須相同void swap (yarray& rhs)
t* c_array()
const t* c_array() const
private:
void checkindex(int i) const
private:
t elems[n];
}; //為上面的陣列實現乙個std::stack適用的堆疊介面卡
//即為stack實現其所需的基本要素(函式、介面)
template class yarraystackadapter
bool empty() const
size_t size() const
t& back()
void push_back(const t& value)
void pop_back()
private:
size_t topindex;
yarraya;
};}#endif
c 自己實現乙個陣列類
define crt secure no warnings include using namespace std class animal animal const animal animal animal operator const animal animal private int a in...
c 實現的乙個陣列串
陣列串類arraystring原始碼 pragma once class arraystring 帶參建構函式 arraystring char s 獲取串的長度 intgetlength 返回字串的內容 char tostring 用char串賦值 void operator char s2 用a...
c 返回乙個陣列
bqg s complexity analysis 最近遇到乙個很不一般的事情,返回乙個陣列時,我們可以直接返回它的首位址,但是如果呼叫兩次以上,返回的數值就是有問題的了。呼叫兩次js 函式,分別用a b陣列存放返回的陣列值,但是接收到返回的數值居然和我返回前存放的數值不一樣。及改善 include...