Проблема пользовательского метода наследования C ++ QList

Я создаю собственный QList типа Account * с именем AccountList через наследование.

У меня есть объявление интерфейса для AccountList:

class Client
{
    public:
        Client(QString firstName, QString lastName, QString address1, QString address2, QString postalCode);
        QString toString();

    private:
        QString m_FirstName;
        QString m_LastName;
        QString m_Address1;
        QString m_Address2;
        QString m_PostalCode;
};

class Account
{
    public:
        Account(unsigned acctNum, double balance, const Client owner);
        unsigned getAcctNum();
        double getBalance();
        Client getOwner();
        virtual ~Account();

    private:
        unsigned m_AcctNum;
        double m_Balance;
        Client m_Owner;
};

class AccountList : public QList<Account*>
{
    public:
        QString toString() const;
        Account* findAccount(unsigned accNum) const;
        bool addAccount(const Account* acc) const;
        bool removeAccount(unsigned accNum) const;
};

У меня проблема с реализацией AccountList, например метод findAccount.

Account* AccountList::findAccount(unsigned accNum) const
{
    Account foundAccount;
    foreach(Account* acc, this)
    {
        if (acc->getAcctNum() == accNum)
        {
            foundAccount = acc;
            break;
        }
    }
    return foundAccount;
}

Надеюсь, что приведенный выше метод дает вам представление о том, чего я пытаюсь достичь. Кажется довольно простым и понятным, но я не могу заставить его работать. Компилятор Qt Creator дает мне все виды странных ошибок при компиляции.

Любая помощь приветствуется.

1
задан Sameer Shariff 4 September 2010 в 12:54
поделиться