[问题] 二维阵列default constructor问题

楼主: tytnew5168 (AhMo)   2016-11-05 20:18:14
开发平台(Platform): (Ex: Win10, Linux, ...)
Win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Visual studio 2013
问题(Question):
要建一个class matrix
能够透过constructor生成二维阵列
有无参数跟有参数两种constructor
class matrix
{
private:
int** m;
int size;
public:
//parameter constructor
matrix(int s)
{
size = s;
m = new int*[size];
for (int i = 0; i<size; i++)
m[i] = new int[size];
}
//default constructor
matrix()
{
m = new int*[size];
for (int i = 0; i<size; i++)
m[i] = new int[size];
}
}
作者: steve1012 (steve)   2016-11-05 21:00:00
看不太懂你想要干嘛Marr1 跟marr2有啥关联几个看到的问题1.size 用size_t 2. 为何不用vector 3.值没有出始化Matrix 刚开始会是一堆garbage
作者: nick5130 (没看过新手喔)   2016-11-05 21:59:00
operator overloading也没办法做到你想要的样子吧?而且你希望的matirx[10]应该是一个10x10 matrix?如果是的话你直接把你希望的样子改成类似new matrix(10)和mArr2(5) 看起来应该就会动了 有错请指正 thx我这种写法等于你的default constructor是没有用的不过你的default constructor的size也未定义 也是不能用

Links booklink

Contact Us: admin [ a t ] ucptt.com