QToolBar 하위 클래스를 구현하려고합니다. 개별적으로 추가하는 대신 모델에 의해 지정된 항목이 있습니다. 즉, addAction과 같은 항목 (툴바 버튼)을 추가/제거하는 함수를 공개적으로 액세스 할 수 없도록 선택해야합니다.C++ 상속 및 원하지 않는 상속 함수 숨기기
이 개체에서 상속하는 가장 좋은 방법은 무엇입니까?
나의 현재 최고의 아이디어는 다음과 같이 할 수 있습니다 :
class ToolbarView : public QToolBar
{
Q_OBJECT
public:
explicit ToolbarView(QWidget *parent = 0);
signals:
public slots:
private:
void addAction (QAction *action) {Q_UNUSED(action)};
QAction* addAction (const QString &text) {return QToolBar::addAction(text) ;}
...
QAction* addSeparator() {QToolBar::addSeparator();}
... [list of about 10 of these]
};
그래서, 비공개로 공개 안 모든 기능을 재정의.
이것은 좋은 생각입니까 아니면 더 좋은 방법이 있습니까?
+1으로 시작해야합니다. 완료된 유일한 대답 인 경우. 'private' 상속 * 및 *'using' 선언을 사용하여 비공개 함수를 노출합니다. – rubenvb