题解 | #数组类的构造函数#

数组类的构造函数

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;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务