c++ - 在类文件中使用用户定义的类向量
问题描述
我有一个名为 Account 的类,其参数如下:
Account::Account(string ibanCode, string paramOwner, double amount) {}
我在 main 函数中创建了一个由类 Accounts 组成的向量:
accs.push_back(Account(fullName, iban, value));
我想编写一个函数,通过一个名为 displayAll() 的类成员函数来打印我的向量中的所有 Account 值,到目前为止我试过这个:
void Account::displayAll()
{
for (int i = 0; i < accs.size(); i++)
{
cout << accs[i].displayBalance() << endl;;
}
}
我想把它写在类文件中。你有什么建议吗?
解决方案
我认为让它成为一个成员会非常复杂,最好的选择应该是使用一个可以访问参数的普通函数。
#include <iostream>
#include <vector>
using namespace std;
struct Account {
Account (string ibanCode, string paramOwner, double amount) : _amount(amount), _ibanCode(ibanCode), _paramOwner(paramOwner) {};
string _ibanCode;
string _paramOwner;
double _amount;
};
void DisplayAll (const vector<Account>& Accs) {
for (const auto& Acc : Accs) {
cout << Acc._ibanCode<<' '<<Acc._paramOwner<<' '<< Acc._amount<<'\n';
}
return;
}
int main () {
vector<Account> Accs;
Accs.push_back(Account("SomeCode", "SomeOwner", 2.0));
Accs.push_back(Account("SomeOtherCode", "SomeOtherOwner", 3000.42));
DisplayAll(Accs);
}
为避免使答案过于复杂,我制作了一个结构,但您可以制作类的DisplayAll
函数 afriend
或制作一些吸气剂。
推荐阅读
- java - 从 1970 年到 2020.01.01 的毫秒数
- java - 如何在 Spring Boot 中使用外部 API
- grails - 错误 context.GrailsContextLoader - 初始化 Grails 时出错:创建名称为“grailsApplication”的 bean 时出错
- arrays - 如何在嵌套的 for 循环中使用父循环计数器来访问 json 中的特定行,例如 django 模板(.html 文件)中的数据
- amazon-web-services - Terraform aws_instance - 更改 volume_size
- c++ - libcurl FTP-在虚幻引擎中下载不完整
- javascript - Laravel 8:使用 ajax 上传文件
- c# - 使用 HotChocolate 动态选择模式 - GraphQL
- concurrency - RxJava:当“可观察合同”说“发生在之前”时,它实际上是什么意思?
- google-apps-script - 线程的最近电子邮件 - Gmail