virtual QGraphicsItemGroup * QGraphicsScene::createItemGroup(const QList<QGraphicsItem *> & items)
class C { virtual int getValue() const {...}; virtual void setValue(int value) {...}};
class QAbstractItemView{ QAbstractItemModel *model() const; virtual void setModel(QAbstractItemModel *model) {..}};
class AbstractDocument{ QUrl url() const {...} void setUrl(QUrl url) { _url = url; open(url); }protected: virtual bool open(QUrl url) = 0;};
class Command{ QString text(); void setText(QString);};class CommandPrivate{ virtual setText(QString) {...}};class Action : public Command{// в паблик API ничего не добавилось и не поменялось};class ActionPrivate{ void setText(QString text) { qAction->setText(text); }};class Menu : public Command{};class MenuPrivate{ void setText(QString text) { qMenu->setText(text); }};
void setText(QString);
Пример три (еще лучше, NVI)class AbstractDocument{ QUrl url() const {...} void setUrl(QUrl url) { _url = url; open(url); }protected: virtual bool open(QUrl url) = 0;};