Сообщение Re[3]: Minix в С++ или как получить доступ к безымянным пред от 26.12.2016 15:28
Изменено 26.12.2016 15:34 kov_serg
Здравствуйте, gencoder, Вы писали:
G>Хотелось бы сделать несколько иное в итоге: перед сборкой проекта просто сконструировать новый класс путем наследования базового класса и некоторой примеси (или нескольких примесей)
G>
G>P.S.1 просто "закинуть" в класс несколько методов (использование порождающих паттернов здесь не нужно, т.к. до сборки проекта будет набираться функционал из классов примесей)
G>P.S.2 без шаблонов похоже никак ?
Вот то что вы хотите, но лично бы я так не делал
G>Хотелось бы сделать несколько иное в итоге: перед сборкой проекта просто сконструировать новый класс путем наследования базового класса и некоторой примеси (или нескольких примесей)
G>
G>class FinalScene: public Scene, public Scene25Mixin, public Scene125Mixin
G>{
G>public:
G> FinalScene(QWidget * p): Scene(p) { magicDrawFirst(); /*from 25*/ magicDrawSecond(); /*from 125*/ }
G>};
G>
G>P.S.1 просто "закинуть" в класс несколько методов (использование порождающих паттернов здесь не нужно, т.к. до сборки проекта будет набираться функционал из классов примесей)
G>P.S.2 без шаблонов похоже никак ?
Вот то что вы хотите, но лично бы я так не делал
#include <stdio.h>
struct Base {
int handle;
Base(int handle=9) : handle(handle) {}
};
struct Mix1 : virtual Base {
void do1() { printf("1-%d\n",handle); }
};
struct Mix2 : virtual Base {
void do2() { printf("2-%d\n",handle); }
};
struct Res : virtual Base,Mix1,Mix2 {
Res(int handle) : Base(handle) { do1(); do2(); }
};
int main(int argc,char** argv) {
Res res(123);
return 0;
}
Здравствуйте, gencoder, Вы писали:
G>Хотелось бы сделать несколько иное в итоге: перед сборкой проекта просто сконструировать новый класс путем наследования базового класса и некоторой примеси (или нескольких примесей)
G>
G>P.S.1 просто "закинуть" в класс несколько методов (использование порождающих паттернов здесь не нужно, т.к. до сборки проекта будет набираться функционал из классов примесей)
G>P.S.2 без шаблонов похоже никак ?
Вот то что вы хотите, но лично бы я так не делал
G>Хотелось бы сделать несколько иное в итоге: перед сборкой проекта просто сконструировать новый класс путем наследования базового класса и некоторой примеси (или нескольких примесей)
G>
G>class FinalScene: public Scene, public Scene25Mixin, public Scene125Mixin
G>{
G>public:
G> FinalScene(QWidget * p): Scene(p) { magicDrawFirst(); /*from 25*/ magicDrawSecond(); /*from 125*/ }
G>};
G>
G>P.S.1 просто "закинуть" в класс несколько методов (использование порождающих паттернов здесь не нужно, т.к. до сборки проекта будет набираться функционал из классов примесей)
G>P.S.2 без шаблонов похоже никак ?
Вот то что вы хотите, но лично бы я так не делал
#include <stdio.h>
struct Base {
int handle;
Base(int handle=0) : handle(handle) {}
};
struct Mix1 : virtual Base {
void do1() { printf("1-%d\n",handle); }
};
struct Mix2 : virtual Base {
void do2() { printf("2-%d\n",handle); }
};
struct Res : virtual Base,Mix1,Mix2 {
Res(int handle) : Base(handle) { do1(); do2(); }
};
int main(int argc,char** argv) {
Res res(123);
return 0;
}