初学cpp<classl类02>
2013-03-20 17:09
162 查看
#include<iostream> using namespace std; class Array { public: Array(); //无参数的构造函数 Array(int n); //带参数的构造函数 Array(const int a[],int n); //构造函数,用数组a对动态数组进行初始化,n为a数组的长度 Array(const Array &v); //复制构造函数,实现深复制 ~Array(); //析构函数 void Show(); //显示数据 void Resize(int n); //动态数组重新设定长度,n为重新设定的数组长度。 //如果n比原数组长度小,则取原数组的前n个元素给重新设定 //的数组;如果n比原长度大,则将原数组的所有数组元素 //给重新设定的数组 private: int *p; int size; }; Array::Array() { int i; size=5; p=new int[size]; for(i=0;i<size;i++) p[i]=0; } Array::Array(int n) { int i; size=n; p=new int[size]; for(i=0;i<size;i++) p[i]=0; } Array::Array(const int a[],int n) { int i; size=n; p=new int[size]; for(i=0;i<n;i++) p[i]=a[i]; } Array::Array(const Array &v) { int i; int *pa; pa=v.p; size=v.size; p=new int[size]; for(i=0;i<size;i++) p[i]=pa[i]; } Array::~Array() { delete p; cout<<"执行析构函数!"<<endl; } void Array::Show() { int *pa; int i; pa=p; for(i=0;i<size;i++) cout<<pa[i]<<","; } void Array::Resize(int n) { int a[100]; int i; for(i=0;i<size;i++) { a[i]=0; a[i]=p[i]; } size=n; p=new int[size]; for(i=0;i<size;i++) p[i]=a[i]; } int main() { Array a1; a1.Show(); system("pause"); Array a2(10); a2.Show(); system("pause"); int b[5]={1,2,3,4,5}; Array a3(b,5); a3.Show(); system("pause"); Array a4(a3); a4.Show(); system("pause"); a4.Resize(3); a4.Show(); system("pause"); a4.Resize(5); a4.Show(); system("pause"); return 0; }
相关文章推荐
- <b>Fatal error</b>: Class 'SoapClient' not found in <b>
- Struts2通配符映射/Struts <action name="/*/*" method="{2}" class="com.jxc.action.{1}Action"> <result
- template<class T>(转)
- Notes on <Papervision 3D Essentials> - 02
- 1004--<hibernate-mapping>和<class>
- 【easyUI】<div class="demo-info">
- template<class T>
- java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
- Class<?>
- java Class<?>
- MOSS2007中型服务场管理 教材<02>: SubSite Backup & Restore
- Binary XML file line : Error inflating class <unknown> 解决
- 【笔记】2014-01<—>2014-02
- class TaskThread: public ACE_Task<ACE_MT_SYNCH>
- android.view.InflateException: Binary XML file line #8: Error inflating class <unknown>
- java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z
- 【easyUI】<div class="easyui-panel" >
- Webbrowser获取<button>标签的class的值
- <div class="col-xs-6 col-sm-6 col-md-6">
- Hibernate 的<generator class="">的不同属性含义