[問題] 二維陣列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