Информация об изменениях

Сообщение Re: как использовать класс от 03.02.2017 13:28

Изменено 03.02.2017 13:34 kov_serg

Re: как использовать класс
Здравствуйте, sergey2b, Вы писали:

S>Подскажите пожалуйста как ответить на такой вопрос


S>имееться определение класса A

S>который используеться в 16 Gb кода
// h
struct A {  // interface
  virtual ~A() {}
  virtual int dispatch(int id,void* args)=0;
  virtual void fn1()=0;
  ...
  virtual void fn100500()=0;
};

...
// dynamic lib
struct A1 : A {
  ...
  virtual void fn100501()=0;
};

S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
Если кол-во методов меняется используй динамическую диспечеризацию вызовов + методы для получения информации об их наличии типа IDispatch
Re: как использовать класс
Здравствуйте, sergey2b, Вы писали:

S>Подскажите пожалуйста как ответить на такой вопрос


S>имееться определение класса A

S>который используеться в 16 Gb кода
// h
struct A {  // interface
  virtual ~A() {}
  virtual int dispatch(int id,void* args)=0;
  virtual void fn1()=0;
  ...
  virtual void fn100500()=0;
};

...
// dynamic lib
struct A1 : A {
  ...
  virtual void fn100501() {};
};
A* create_A() { return new A1(); }

S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
Если кол-во методов меняется используй динамическую диспечеризацию вызовов + методы для получения информации об их наличии типа IDispatch