Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 23:47   #1
Farrel
Форумчанин
 
Аватар для Farrel
 
Регистрация: 21.04.2010
Сообщений: 144
По умолчанию Конструктор

Есть два конструктора
Код:
massiv(){this->f=new float[1];this->size=1;};
massiv::massiv(int s, int mode)
{
	massiv();
	realloker(s);
	size=s;
	if(mode==1)
		for(int i=0;i<size;i++)
			f[i]=randfloat();	
}
massiv() выделяет память напонятно где, по крайней мере адреса this в massiv() и massiv(int, int) разные. Так что, надо в каждом конструкторе отдельно память выделять? Не хотелось бы, тем более что код в принципе должен работать. И ещё объясните почему this указатель на вроде один и тот же объект вдруг меняется в разных конструкторах.
Farrel вне форума Ответить с цитированием
Старый 30.09.2010, 01:18   #2
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Из конструктора конструктор нельзя вызывать, насколько мне не изменяет память. Так как вызывается не второй конструктор данного объекта, а создается новый объект класса.

Можно сделать так :
Код:
class T{
public:
  T(){
    Init();
    //...
  }
  T( F sample ){
    Init();
    //...
  }
private:
  Init(){
    // выделяем память
  }
};
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 30.09.2010 в 01:22.
ozo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор класса XPAiN Общие вопросы Delphi 2 24.01.2010 15:00
конструктор An123 Помощь студентам 1 17.01.2010 17:14
С++ (конструктор, деструктор) Kventin Помощь студентам 4 31.03.2009 18:11
Конструктор 3D игр Наблюдатель Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 13.02.2009 18:13
Конструктор PilGrim Общие вопросы C/C++ 0 16.01.2009 10:21