因此,对于类分配,我们已经开始在向量中使用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();
//...
}
关于c++ - vector 中共享指针的使用,以访问类对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58348512/