array.cc

来自「做为SD0609的一员,我扎实的基础是如何打出来的,来看看我那时连猴子选大王都不」· CC 代码 · 共 81 行

CC
81
字号
#include <iostream>using namespace std;class Array{	int* p;//the start address of variable group	int num;//the number of elementspublic:	Array( int len );//allocate space	~Array();//release space	int& at( int );//access elements by index	void output();//show all the elements	void resize( int len );//change length	int size(){ return num; }};Array::Array( int len ){	if( len<1 )	{		cout << "invalid length!" << endl;		len = 1;	}	num = len;	p = new int[num];	cout << "address:" << p << endl;}Array::~Array(){	cout << "release:" << p << endl;	delete[] p;}int& Array::at( int index ){	if( index<0 || index>=num )	{		cout << "invalid index!" << endl;		index = 0;	}	return p[index];}void Array::output(){	for( int i=0; i<num; i++ )	{		cout << p[i] << ' ';	}	cout << endl;}void Array::resize( int len ){	if( len<1 )		return;	int* pn = new int[len];	int min = num<len?num:len;	for( int i=0; i<min; i++ )	{		pn[i] = p[i];	}	cout << "old address:" << p << endl;	delete[] p;	p = pn;	num = len;	cout << "new address:" << p << endl;}int main(int argc, char* argv[]){	Array a(10);	a.output();	for( int i=0; i<a.size(); i++ )	{		a.at(i) = 10+i;	}	a.output();	a.resize(5);	a.output();	a.resize(10);	a.output();	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?