第一次写文章,感觉好奇怪。
初学C++,用刚学的类写个小程序
主要问题:
1.需要根据输入确定矩阵大小,所以需要用new给类的私有成员申请空间。同时如何创建二维数组,且如何传递,主要是二维数组的类型。
2.初始化构造函数、赋值构造函数和重载=之间的联系。
3.VScode怎么同时编译多个文件。
一、new与二维数组
1.数据类型:首先看一维数组,想传地址直接取数组名就好,比如:
int sz[100];
int *p=sz;//之后p就能当数组用了
那么照这么搞,二维数组的地址是不是可以表示成 int **p? 很遗憾不能。和C一样,C++按行分配内存块,所以编译器可以不知道你要多少行,但是必须要知道你每行的长度是多少,不然没法分配内存。一个3X2数组的地址:
所以对于一个二维数组,它的数组名(地址)的数据类型实际上是 (int (*)[n]),其中n是列数,也就是说,不同列数的数组他们的数组地址不是同一种类型的