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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]QLatin1String operator+  (Прочитано 9588 раз)
Sancho_s_rancho
Гость
« Ответ #15 : Май 27, 2010, 12:18 »

прочти внимательно пост номер 9. Ты можешь конечно поспорить с компилятором, но он свято считает что тип суммы - QString (о чем и говорит typeid(...).name())
С компилятором и вами я полностью согласен. Оператор сложения возвращает QString. Но то, что это происходит из-за QString ( const QLatin1String & str ) без дополнительного шаманства я не согласен. Я привел тривиальный класс который имеет оператор сложения и конструктор , принимающий ссылку на другой класс. Это не делает чуда и объекты другого класса складываться не начинают.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #16 : Май 27, 2010, 12:58 »

учите с++ (с)
Код:
class A
{
    int a;
public:
    A(){}

};

class B
{
    int b;
    A m_aaa;
public:
    B() {}
    B(const A &aaa) {m_aaa=aaa;}
    B& operator=(const B &rhs) {m_aaa=rhs.m_aaa; return *this;}
    B& operator=(const A &rhs) {m_aaa=rhs; return *this;}
    B& operator=( A &rhs) {m_aaa=rhs; return *this;}
};
const B operator+(const B &bbb1, const B &bbb2) {B b; return b;}
Записан
Sancho_s_rancho
Гость
« Ответ #17 : Май 27, 2010, 13:17 »

Спасибо, разобрался.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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