Re: Аналог делфийского метода Inherited в C++Builder
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 24.07.02 14:17
Оценка: 5 (1)
Здравствуйте Emil, Вы писали:

E> Уважаемые, подскажите пожалуйста аналог делфийского метода Inherited под C++Builder. Спасибо


Сейчас блескну интелектом

class A
{
 private:
  int m_i;

 public:
  A(int i)
   :m_i(i){;}
  
  virtual int get_i()const
   {return m_i;}
};

class B:public A
{
 private:
  typedef A  inherited;
 
 public:
  B(int i)
   :inherited(i){;}

  get_i()const
   {return 2*inherited::get_i();}
};
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Аналог делфийского метода Inherited в C++Builder
От: Emil  
Дата: 23.07.02 09:49
Оценка:
Уважаемые, подскажите пожалуйста аналог делфийского метода Inherited под C++Builder. Спасибо
Re: Аналог делфийского метода Inherited в C++Builder
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 23.07.02 09:53
Оценка:
Здравствуйте Emil, Вы писали:

E> Уважаемые, подскажите пожалуйста аналог делфийского метода Inherited под C++Builder. Спасибо


Как такового его нет... Надо просто внутри функции вашего класса вызывать сначала функцию базового класса, например:


class TMyClass : public TCustomLabel {

protected:

void __fastcall Paint(); // допустим, эта функция есть и в классе TCustomLabel


};

TMyClass::Paint()  {

TCustomLabel::Paint(); //вот он, inherited

// а здесь ваш код...
}
Re: Аналог делфийского метода Inherited в C++Builder
От: Сергей Лисовский  
Дата: 23.07.02 09:54
Оценка:
Здравствуйте Emil, Вы писали:

E> Уважаемые, подскажите пожалуйста аналог делфийского метода Inherited под C++Builder. Спасибо


class TClass: public TClass2
....
TClass.Create()
{
  //.....
  TClass2::Create();
}


Вроде, так...

Сергей.
Сергей.
Re[2]: Аналог делфийского метода Inherited в C++Builder
От: Sergei  
Дата: 23.07.02 11:27
Оценка:
Здравствуйте Flamer, Вы писали:

F>Здравствуйте Emil, Вы писали:


E>> Уважаемые, подскажите пожалуйста аналог делфийского метода Inherited под C++Builder. Спасибо


F>Как такового его нет... Надо просто внутри функции вашего класса вызывать сначала функцию базового класса, например:


F>

F>
F>class TMyClass : public TCustomLabel {

F>protected:

F>void __fastcall Paint(); // допустим, эта функция есть и в классе TCustomLabel


F>};

F>TMyClass::Paint()  {

F>TCustomLabel::Paint(); //вот он, inherited
   причём можно вызывать любую ветвь иерархии
   например,
   TControl::Paint()
F>// а здесь ваш код...
F>}

F>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.