题解 | #数组类的构造函数#
数组类的构造函数
https://www.nowcoder.com/practice/1f36f85726474afbb103f65a24106824
因为在定义数组a时,我们并未给a分配确切的内存,那么这时候需要动态内存分配
a = new int [n];
动态内存分配,在处理大数据的时候起到了很大作用,因为你自己可能都不知道要多大的内存,所以这时候就需要动态内存分配。
使用动态内存分配,如果在程序运行时需要数组,则创建吗,否则不创建,还可以在程序运行时选择数组的长度,这叫做动态联编。
那么在使用完内存后还要记得使用delete释放内存。
#include<bits/stdc++.h>
using namespace std;
class Array{
private:
int n;//数组大小
int *a;//数组
public:
// write your code here......
Array()
{
cin >> n;
// for(int i = 0; i < n; i++)
// {
// cin >> a[i];
// }
if(n > 0)
{
a = new int[n];
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
}
else {
return;
}
}
~Array(){
delete []a;
}
void show(){
for (int i=0;i<n;i++) cout<<a[i]<<' ';
}
};
int main(){
Array a;
a.show();
return 0;
}