Использование общих указателей в векторах для доступа к объектам класса - PullRequest
0 голосов
/ 12 октября 2019

Итак, для назначения класса мы начали использовать shared_pointers внутри векторов следующим образом: vector<shared_ptr<BankAccount>> @accountsVector, где мой профессор объясняет, что вектор содержит список общих указателей, и каждый указатель указывает на объект класса BankAccount. У меня вопрос, как мне получить доступ к этим объектам в классе BankAccount? Я попытался использовать индекс в цикле for с обозначениями стрелок и точечных обозначений. Если есть аналогичный вопрос, направьте меня в правильном направлении, пожалуйста.

1 Ответ

2 голосов
/ 12 октября 2019

Например, если BankAccount имеет члена getBalance(), то вы можете сделать что-то вроде этого:

vector<std::shared_ptr<BankAccount>> accountsVector;
...
accountsVector.push_back(std::make_shared<BankAccount>());
accountsVector.push_back(std::make_shared<BankAccount>());
...
double balance;
balance = accountsVector[0]->getBalance();
balance = accountsVector[1]->getBalance();
// etc...
vector<std::shared_ptr<BankAccount>> accountsVector;
...
accountsVector.push_back(std::make_shared<BankAccount>());
accountsVector.push_back(std::make_shared<BankAccount>());
...
for(auto &account : accountsVector)
{
    double balance = account->getBalance();
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...