crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QHash
k0p4
  опции профиля:
сообщение 16.2.2010, 20:57
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 18.10.2009
Пользователь №: 1160

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте. Есть проблемка. Не могу засунуть собственный клас в QHash, вот такой код :
hash.h :
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <QtGui>
#include <QString>
#include <QHash>

class Employee
{
public:
     Employee() {}
     Employee(const QString &name, const QDate &dateOfBirth);


private:
     QString myName;
     QDate myDateOfBirth;
};

inline bool operator==(const Employee &e1, const Employee &e2)
{
     return e1.name() == e2.name()
            && e1.dateOfBirth() == e2.dateOfBirth();
}

inline uint qHash(const Employee &key)
{
     return qHash(key.name()) ^ key.dateOfBirth().day();
}

#endif // EMPLOYEE_H
hash.cpp:
#include "hash.h"
#include <QtGui>
#include <QHash>
#include <QString>

Employee::Employee(const QString &name, const QDate &dateOfBirth)
{
    QHash<QString, Employee  *> hash;


}


Покажите плз ошибки, очень надо, за ранее благодарен.

Сообщение отредактировал Litkevich Yuriy - 16.2.2010, 21:02
Причина редактирования: форматирование
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
k0p4
  опции профиля:
сообщение 16.2.2010, 21:46
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 18.10.2009
Пользователь №: 1160

Спасибо сказали: 0 раз(а)




Репутация:   0  


т.е. код должен выглядеть так?
Раскрывающийся текст
public:     
     Employee() {}
     Employee(const QString &name, const QDate &dateOfBirth);

     QString myName;
     QDate myDateOfBirth;
};

inline bool operator==(const Employee &e1, const Employee &e2)
{
     return e1.name() == e2.name() //  'name' : is not a member of 'Employee'
            && e1.dateOfBirth() == e2.dateOfBirth();
}

inline uint qHash(const Employee &key)
{
     return qHash(key.myName()) ^ key.myDateOfBirth().day();
}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 18:59