Я создаю собственный 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 выдает мне всевозможные странные ошибки при компиляции.
Любая помощь будет оценена.