継承によって AccountList と呼ばれるタイプ Account* のカスタム QList を作成しています。
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;
};
findAccount メソッドなどの AccountList の実装に問題があります。
Account* AccountList::findAccount(unsigned accNum) const
{
Account foundAccount;
foreach(Account* acc, this)
{
if (acc->getAcctNum() == accNum)
{
foundAccount = acc;
break;
}
}
return foundAccount;
}
上記の方法で、私が達成しようとしていることのアイデアが得られることを願っています。かなり単純で簡単に思えますが、うまくいきません。Qt Creator コンパイラは、コンパイル時にあらゆる種類の奇妙なエラーを表示します。
どんな助けでも大歓迎です。