Russian Qt Forum
Ноябрь 26, 2024, 10:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как записать в файл ?  (Прочитано 13841 раз)
BRE
Гость
« Ответ #15 : Октябрь 18, 2009, 17:59 »

QString( "Привет" ) - это функция. Навожу на него мышь, нажимаю F1 и вылезает "QString Class Reference". Что такое QString ? Непонимающий
Класс такой.  Улыбающийся
Записан
KADABRA
Гость
« Ответ #16 : Октябрь 18, 2009, 18:25 »

QString( "Привет" ) - это функция.
Это не функция.
Записан
QtProger
Гость
« Ответ #17 : Октябрь 18, 2009, 18:53 »

Цитировать
QString( "Привет" ) - это функция.
Ладно, я понял что это не функция, а класс. Подскажите пожалуйста, как называется такой прием программирования, чтобы я мог найти и почитать что-нибудь про это.
Записан
BRE
Гость
« Ответ #18 : Октябрь 18, 2009, 18:56 »

Цитировать
QString( "Привет" ) - это функция.
Ладно, я понял что это не функция, а класс. Подскажите пожалуйста, как называется такой прием программирования, чтобы я мог найти и почитать что-нибудь про это.
Создание временного объекта.
Для ясности, твой пример можно переписать так:
Код
C++ (Qt)
QString tmp( "Привет" );
text << tmp;
 
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #19 : Октябрь 18, 2009, 19:03 »

Т.е. просто использован конструктор класса. Также можно вызвать и метод класса:
Код
C++ (Qt)
QString( "Привет" ).toAscii()

В С++ и типы приводить рекомендуют через конструктор:
Код
C++ (Qt)
int a = 0x2;
char b = char(a);
// вместо
//char b =  (char) a
Записан

Юра.
QtProger
Гость
« Ответ #20 : Октябрь 18, 2009, 19:11 »

Т.е. просто использован конструктор класса. Также можно вызвать и метод класса:
Код
C++ (Qt)
QString( "Привет" ).toAscii()
Шокированный
Метод конструктора ??!
Записан
BRE
Гость
« Ответ #21 : Октябрь 18, 2009, 19:17 »

Т.е. просто использован конструктор класса. Также можно вызвать и метод класса:
Код
C++ (Qt)
QString( "Привет" ).toAscii()
Шокированный
Метод конструктора ??!
Не конструктора, а метод временного безымянного объекта класса QString.
Код
C++ (Qt)
QString tmp( "Привет" );
tmp.toAscii();
 
Записан
QtProger
Гость
« Ответ #22 : Октябрь 18, 2009, 19:27 »

Спасибо за инфу ! Буду разбираться  Улыбающийся
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #23 : Октябрь 18, 2009, 20:20 »

Посмотри пример к функции int QString::count ( const QRegExp & rx ) const
там та же суть - приведение типа через конструктор (создание безымянного временного объекта)
Записан

Юра.
KADABRA
Гость
« Ответ #24 : Октябрь 19, 2009, 01:16 »

В С++ и типы приводить рекомендуют через конструктор:
Код
C++ (Qt)
int a = 0x2;
char b = char(a);
// вместо
//char b =  (char) a
В C++ типы рекомендуется приводить через набор cast'ов, в данном случае - через static_cast. C-style приведения в C++ не рекомендуется использовать вовсе, "оставлены" они для обратной совместимости с C.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.524 секунд. Запросов: 23.