Если я должен унаследовать от класса, нужно ли мне определять все его виртуальные и чисто виртуальные функции?
Например, у меня есть производный класс, наследующий от QAbstractItemModel
. QAbstractItemModel
имеет следующие чистые виртуальные функции. Если мой производный класс не будет использовать методы index()
и parent()
, нужно ли мне его реализовать?
//qabstractitemmodel.h
virtual QModelIndex index(int row, int column,
const QModelIndex &parent = QModelIndex()) const = 0;
virtual QModelIndex parent(const QModelIndex &child) const = 0;
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const = 0;
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const = 0;
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const = 0;
QAbstractItemModel
не содержит определенийindex
илиparent
, поэтому вам нужно будет указать свое собственное. Если бы он поставлял реализации, вы могли бы вызвать версию базового класса из своего подкласса. - person wkl   schedule 10.04.2012