Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Третий архив вопросов и ответов (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/)
-   -   Создание обьекта в зависимости от пришедших на сокет данных (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/sozdanie-ob-ekta-v-zavisimosti-ot-prishedshih-na-soket-dannyh-357920/)

Guest 30.09.2011 18:37

Создание обьекта в зависимости от пришедших на сокет данных
 
пример, на сокет приходит массив данных "create ellipse..." или "create square...", есть абстрактный класс QFigure и 2 его наследника QEllipse и QSquare, задача создать обьект и вернуть указатель на интерфейс.. Проблема: не существет единого формата сообщения, каждая фигура использует свой протокол инициализации своих параметров, фигур дофига..помогите прийти к элегантному решению:КодC++ (Qt)class QFigure{ ... static QFigure* create(QByteArray *data){ ???????????????????????????????????? } virtual draw() = 0;};class QEllipse : public QFigure{...};class QSquare : public QFigure{...};КодC++ (Qt)class QNetShapeCreator : QTcpSocket{public: QNetShapeCreator(){ connect(this, SIGNAL(readyRead()), this, SLOT(readyReadData())); } QDataArray *data; QList figures; readyReadData(){ *data = readAll(); figures.append(QFigure::create(data)); }};необходимо избежать необходимости редактирования статического методе create(QByteArray *data) абстрактного класса QFigure при добавлении новых фигур


Часовой пояс GMT, время: 10:16.


© www.otvetnemail.ru - Форум вопросов и ответов.