1.题目如下:
2.来吧展示:
array.h
class Array
{
public:
Array(int count);//构造函数
Array(const Array &arr);//拷贝构造函数
~Array();//析构函数
void setCount(int count);//封装函数
int getCount();
void printAddr();
private:
int m_iCount;
int *m_pArr;
};
array.cpp
#include <iostream>
#include "array.h"
using namespace std;
Array::Array(int count)
{
m_iCount = count;
m_pArr = new int[m_iCount];
cout << "Array" << endl;
}
Array::Array(const Array &arr)
{
m_pArr = arr.m_pArr;
m_iCount = arr.m_iCount;
cout << "Array &" << endl;
}
Array::~Array()
{
delete []m_pArr;
m_pArr = NULL;
cout << "~Array" << endl;
}
void Array::setCount(int count)
{
m_iCount = count;
}
demo.cpp
#include <iostream>
#include <stdlib.h>
#include "array.h"
using namespace std;
int main(void)
{
Array arr1(5);
Array arr2(arr1);//浅拷贝
arr1.printAddr();
arr2.printAddr();
cout << "arr2.m_iCount" << " " << arr2.getCount() << endl;
system("pause");
return 0;
}
3.运行结果如下:
4.这边最后的析构函数也成功释放了内存
希望能帮到大家,问你们要一个赞,你们会给吗,谢谢大家
版权声明:本文版权归作者(@攻城狮小关)和优快云共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~
交流加Q:1909561302
博客园地址https://www.cnblogs.com/guanguan-com/