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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 21:31   #1
YuryGunko
Новичок
Джуниор
 
Регистрация: 03.06.2010
Сообщений: 3
По умолчанию Конструктор класса наследующего от TFileStream

Создан класс наследующий от TFileStream:
class fs: public TFileStream
{

protected:
long GetRecSize()
{ return (sizeof(student)); };
... и т.д.

если конструктора по умолчанию нет, то при попытке создать Filestream = new fs (fST, fmOpenReadWrite) ;

получаю такие сообщения компилятора:
[C++ Error] Unit_Students.cpp(143): E2125 Compiler could not generate default constructor for class 'fs'
[C++ Error] Unit_Students.cpp(145): E2285 Could not find a match for 'fs::fs(char *,const unsigned short)'

Пишу конструктор:

class fs: public TFileStream
{
public: fs (const AnsiString FileName, Word Mode) {const AnsiString fn = FileName; Word md = Mode;};

protected:
long GetRecSize()
{ return (sizeof(student)); };
... и т.д.

получаю такие сообщения компилятора:
[C++ Error] unitfiles.h(24): E2251 Cannot find default constructor to initialize base class 'TFileStream'

не пойму как верно написать...
YuryGunko вне форума Ответить с цитированием
Старый 03.06.2010, 21:53   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Примерно так должно выглядеть (переделал также под инициализацию членов класса под стиль явной инициализации)
Код:
class fs: public TFileStream
{
public: 
fs (const AnsiString FileName, Word Mode):
   TFileStream(/*Какие там аргументы у конструктора базового класса*/),
   fn(FileName), md(Mode)
   {
   };
//...
};
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 03.06.2010, 22:02   #3
YuryGunko
Новичок
Джуниор
 
Регистрация: 03.06.2010
Сообщений: 3
По умолчанию вот спасибо, заработало!

спасибо огромное!
YuryGunko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор класса наследующего от TFileStream (BC++) YuryGunko Помощь студентам 0 03.06.2010 20:38
Конструктор класса XPAiN Общие вопросы Delphi 2 24.01.2010 15:00
проблемы с TFileStream andrey4623 Общие вопросы Delphi 9 01.11.2007 20:44
сохранение изображения с TFileStream andrey4623 Общие вопросы Delphi 10 20.10.2007 20:28
TFilestream UnD)eaD)Snake Win Api 1 27.09.2007 21:22