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


Автор: hunter_ 23.5.2003, 16:32
есть у меня два класса:
Код

class a {
 a( int=0 );
};

class b {
 class a c();
};

как сделать чтобы
Цитата
c
инициализировался при инициализации
Цитата
b
и уничтожался при уничтожении
Цитата
b
?

Автор: DarkDS 23.5.2003, 16:42
Код

class a {
a( int=0 );
};

class b {
a* c;
b()
{
  c = new a();
}
~b()
{
 delete c;
}
};

Автор: Unregistered 23.5.2003, 16:50
to DarkDS: спасибо

Автор: setq 24.5.2003, 06:30
class b
{
a c;

b () : c (555)
{
}

};



встречный вопрос, если можно

<< class b { class a c(); }; >>

и компилятор так безропотно это глотает? такая инициализация, по-моему, запрещена.

Автор: TimPP 27.5.2003, 16:26
DarkDC <<

Пользуемся auto_ptr !

если в конструкторе на new выволится исключение все пойдет на перекосяк класс b не будет создан.

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