📄 5_23.cpp
字号:
#include <iostream.h>
#include <iomanip.h>
class array//动态数组类
{
public :
array(int s=5);
array(array &r);//拷贝构造函数
void display(void);
~array(); //析构函数
private :
int size;//数组长度
int *p;//数组首址
};
array::array(int s)
{
size=s;
p=new int[size];//动态分配空间
for(int i=0;i<size;i++)
*(p+i)=i;
cout<<"创建一个数组"<<endl;
}
array::array(array &r)
{
size=r.size;
p=new int[size];//深拷贝
for(int i=0;i<size;i++)
*(p+i)=*(r.p+i);
cout<<"创建一个数组"<<endl;
}
array::~array()
{
delete []p;//释放空间
cout<<"数组被删除"<<endl;
}
void array::display(void)
{
for(int i=0;i<size;i++)
cout<<setw(3)<<*(p+i);
cout<<endl;
}
int main( )
{
array a(3),b(a),*p1,*p2;
p1=new array(2);//动态对象
p2=new array[2];//动态对象数组
a.display();
b.display();
p1->display();
for(int i=0;i<2;i++)
(p2+i)->display();
delete p1;//释放空间
delete []p2;
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -