2013-05-18 3 views
-1

Я новичок в Qt, а также в документации, я не понимаю синтаксис прототип показан ниже:Что означает двойная двоеточия в документации Qt?

Вот синтаксис прототип функцииaddTab() из QTabWidget класса ,

int QTabWidget::addTab(QWidget * page, const QString & label) 

Я не понимаю, почему они две колоны после QTabWidget. Я думаю, что это говорит о том, что addTab() происходит из класса QTabWidget, поэтому, если мы хотим использовать эту функцию, мы должны включить QTabWidget (или любой класс, который обертывает целое и включает в то же время QTabWidget). Правильно?

Но можем ли мы написать этот синтаксис QTabWidget :: addTab (.....) в практическом/в коде или это просто обозначение для документации, означающее класс, из которого он пришел?

ответ

2

Я не понимаю, почему они являются двумя двоеточиями после QTabWidget. Я думаю, что это говорит о том, что addTab() поступает из класса QTabWidget, поэтому, если мы хотим использовать эту функцию, мы должны включить QTabWidget (или любой класс, который обертывает целое и включает в то же время QTabWidget). Это правильно ?

Вы когда-нибудь программировали на C++? Это scope resolution operator. Это означает, что имя addTab находится в области QTabWidget; документация заимствует, как вы собираетесь определить этот метод (любопытно? Have a look).

Оператор разрешения области не имеет ничего общего с, с помощью которого заголовок объявляет это имя (в Qt docs заголовок для включения явно написан в начале документации каждого класса).

+0

Thks для пояснения. У меня были уроки в C++, но я никогда не программировал на C++. Поэтому у меня нет практического опыта, я знал, что означает :: mean, но я не понимаю, что они конкретно подразумевают в Qt. Может быть, это потому, что я совершенно новичок в этом, и поэтому я не совсем знаком с документацией, но у меня есть немного времени, чтобы усвоить его естественным образом и с вашими объяснениями теперь стало ясно :) – user2305415

Смежные вопросы