64,637
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
class array
{
public:
array(int n);
~array();
array(array &c);
int sum();
private:
int *p;
int number;
};
array::array(int n)
{
number=n;
p=new int[n];
cout<<"please input "<<n<< " integer numbers:"<<endl;
for(int i=0;i<n;i++)
cin>>p[i];
}
array::array(array &c)
{
number=c.number;
p=new int[number];
for(int i=0;i<number;i++)
p[i]=c.p[i];
}
array::~array()
{delete []p;}
int array::sum()
{ int temp=0;
for(int i=0;i<number;i++)
temp+=p[i];
return temp;
}
int main()
{
cout<<"please input array size:";
int m;
cin>>m;
array a(m);
cout<<"a sum is "<<a.sum()<<endl;
array b(a);
cout<<"b sum is "<<b.sum()<<endl;
return 0;
}
#include <iostream>
using namespace std;
class base
{
public:
base():pt(NULL){}
base(int *p):pt(new int(*p)){}
//base(const base &orig):pt(new int(*orig.pt)){}
//base& operator = (const base &orig)
//{
// pt = new int(*orig.pt);
// return *this;
//}
int Get()const{return *pt;}
~base(){if(NULL != pt)delete pt;pt = NULL;}
private:
int *pt;
};
int main()
{
int *p = new int(5);
base mb1;
{
base mb2(p);
mb1 = mb2;
}
cout << mb1.Get() << endl;
delete p;
return 0;
}