Как один из вариантов:
Необязательно переопределять, ведь вы наследуете avTreeWidgetItem от QTreeWidgetItem, значит можете смело возвращать тип QTreeWidgetItem, а потом преобразовать его:
avTreeWidgetItem *item= static_cast <avTreeWidgetItem *> (currentItem());
С собой не было ничего компилирующего, но должно скомпилироваться:
class MyTableWidgetItem: public QTableWidgetItem
{
public:
QString foo(){return "I lived!!!";}
};
class MyTable: public QTableWidget
{
public:
MyTableWidgetItem *currentItem() const
{
return static_cast <MyTableWidgetItem *> (QTableWidget::currentItem());
}
};