gpt4 book ai didi

c++ - 在 vector 中使用共享指针来访问类对象

转载 作者:行者123 更新时间:2023-11-28 01:17:04 25 4
gpt4 key购买 nike

因此对于类分配,我们已经开始在 vector 中使用 shared_pointers,如下所示:vector<shared_ptr<BankAccount>> @accountsVector我的教授解释说 vector 包含一个共享指针列表,每个指针指向一个类 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com