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


Автор: sidiakin 20.11.2010, 08:30
Вот пример где я пытаюсь переопределить метод OnClose (OWL). 

Код

#include <owl\applicat.h>
#include <owl\framewin.h>

// Êëàññ ïðèëîæåíèÿ
class TApp : public TApplication
{
  public:
     TApp(): TApplication() {}
     void InitMainWindow ();
};

// Êëàññ ãëàâíîãî îêíà
class TWndw : public TFrameWindow
{
  public:
     TWndw (TWindow *parent, const char far *title);
  protected:
     BOOL CanClose();
};

// TWndw::CanClose() - ïåðåîïðåäåëåíèå ô-èè çàêðûòèÿ îêíà áàçîâîãî êëàññà
BOOL TWndw::CanClose()
{
  int result = MessageBox("Çàêðûòü îêíî?",
            "Çàêðûòèå", MB_YESNO | MB_ICONQUESTION );

  if (result==IDYES) return TRUE;
  else return FALSE;
}

// Êîíñòðóêòîð ãëàâíîãî îêíà
TWndw::TWndw(TWindow *parent, const char far *title):
     TFrameWindow(parent, title)
{
  Attr.X = 100;
  Attr.Y = 100;
  Attr.W = 400;
  Attr.H = 300;
}

//Ñîçäàíèå ãëàâíîãî îêíà ïðèëîæåíèÿ
void TApp::InitMainWindow()
{
  TFrameWindow *wndw = new TWndw(0, "Çàãîëîâîê");
  SetMainWindow(wndw);
}

int OwlMain(int, char* [])
{
  return TApp().Run();
}




Компилятор выдает конфликт с базовым классом. Подскажите пож., как устранить? Спасибо

Автор: sidiakin 20.11.2010, 09:05
Извиняюсь! Банальная опечатка. Не CanClose, а canClose

Добавлено через 4 минуты и 22 секунды
Нет! Все равно не работает

Автор: mes 20.11.2010, 12:03
Цитата(sidiakin @  20.11.2010,  07:30 Найти цитируемый пост)
пытаюсь переопределить метод OnClose (OWL). 

где эта попытка ?

Автор: sidiakin 20.11.2010, 15:06
При описании класса
Код

protected:
     BOOL CanClose();

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