Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Конструкторы


Автор: Molnienosetz 6.3.2003, 00:38
Я совсем неграмотный товарищ - как создать конструктор класса, чтобы можно было написать что-то вроде matrix *matarr = new matrix [10]; ? Компилятор мне пишет, мол нету подходящего конструктора, а когда я свой удаляю и оставляю конструктор по умолчанию, то всё нормально. В книжках ничего такого нет; в И-нете найти не удалось.

Автор: Step 6.3.2003, 00:49
я не понял тебе что надо создавать масив объектов класов.
Кстати конструктор у тебя есть стандартный который должен это позволять

ты полный код дай

Автор: Molnienosetz 6.3.2003, 00:58
У меня такая штука:

class matrix
{
public:
matrix(unsigned, unsigned);
...
private:
double *m; // указатель на матрицу даблов
unsigned i, j; // кол-во строк и столбцов
};

matrix::matrix(unsigned i0, unsigned j0)
{
if (i0 == 0 || j0 == 0) { i = 0; j = 0; m = NULL; return; }
i = i0; j = j0;
m = new double [i * j];
}

Теперь если я где-то пишу указатель, как я говорил, matrix *matarr = new matrix [10]; ,
то он мне говорит, что нету подходящего конструктора. Если у меня тут какое-то недоразумение, подскажите, пожалуйста, где можно об этом прочитать и пошлите меня подальше. Буду очень благодарен.

Я в форуме впервые, так что извините, если "чо".

Автор: Step 6.3.2003, 01:03
Цитата
matrix *matarr = new matrix(надо указать параметры в твоем случае две штуки) [10];

или создать конструктор по умолчанию

Автор: Molnienosetz 6.3.2003, 01:06
Спасибо.
Я понял свою тупизну, приношу извинения за время.

Как удалить мою тему?

Автор: Step 6.3.2003, 01:08
а удалить как раз нельзя, у тебя прав таких нету, но можеш модератора попросить.

Пусть останиться, я уверен что не только у тебя такие проблемы возникают

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)