我想初始化一個File
對象,該對象將指針和指針指針作爲參數。這是實施它的正確方法嗎?使用指針和指針指向C++中的指針參數創建構造函數
//file.h
class File {
public: File(string * , int, string * * , int);
void clean();
private: string * one;
int size_one; //gives size of one array
string * * two;
int size_two; //gives size of *two array
}
//file.cpp
File::File(string * s1, int i1, string * * s2, int i2) {
int k;
one = new string[i1];
for (k = 0; k < i1; k++) {
one[k] = s1[k];
}
two = new string * [i2];
for (k = 0; k < i2; k++) {
two[k] = s2[k];
}
}
我應該如何實現clean()
功能,同時刪除陣列?
我建議[this](http://www.cplusplus.com/doc/tutorial/dynamic/)動態內存教程。 –
由於'two [k]'是'string *'類型,'s1 [k]'是'char',所以不會編譯。嘗試擴大爲什麼你需要這個論點,也許有更好的解決方案(例如'vector')。但是,如果你想刪除它,你需要在每個'string *'上調用'delete',然後在'string **'上調用。 – NikolayKondratyev
@NikolayKondratyev你是對的。它應該's2 []' – Doruk