在向量中使用共享指针来访问类对象

Usage of shared pointers in vectors to access class objects

本文关键字:访问 对象 指针 共享 向量      更新时间:2023-10-16

因此,对于类作业,我们已经开始在向量中使用shared_pointers,如下所示:vector<shared_ptr<BankAccount>> @accountsVector,我的教授解释说,向量包含一个共享指针列表,每个指针指向一个类 BankAccount 对象。我的问题是,如何访问 BankAccount 类中的这些对象?我尝试在带有箭头表示法和点表示法的 for 循环中使用索引。如果有类似的问题,请指出我正确的方向。

例如,如果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();
//...
}