Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象的向量(如何开始) 我对C++中的对象向量非常迷惑 有谁能给我一些提示,让我了解如何把物体当作向量。 我的问题很简单,但我不知道为什么我感到困惑_C++_Vector - Fatal编程技术网

对象的向量(如何开始) 我对C++中的对象向量非常迷惑 有谁能给我一些提示,让我了解如何把物体当作向量。 我的问题很简单,但我不知道为什么我感到困惑

对象的向量(如何开始) 我对C++中的对象向量非常迷惑 有谁能给我一些提示,让我了解如何把物体当作向量。 我的问题很简单,但我不知道为什么我感到困惑,c++,vector,C++,Vector,定义一个包含银行账户向量的银行类,该类包含添加新账户和打印所有账户的方法 添加一种方法将指定金额存入指定客户的帐户,并添加另一种方法以类似方式提取。使用打印方法对其进行测试 请在开始时帮助我,因为我不想在开始时失去概念。我认为这应该足以让您“开始”: struct帐户 { std::字符串名; }; 结构银行 { 无效添加(施工账户和会计科目) { //在这里插入向量,您最好自己找出如何执行此操作 } 私人: std::向量m_账户; }; 矢量是对象列表。要创建银行账户向量,您可以使用: ve

定义一个包含银行账户向量的银行类,该类包含添加新账户和打印所有账户的方法

添加一种方法将指定金额存入指定客户的帐户,并添加另一种方法以类似方式提取。使用打印方法对其进行测试


请在开始时帮助我,因为我不想在开始时失去概念。

我认为这应该足以让您“开始”:

struct帐户
{
std::字符串名;
};
结构银行
{
无效添加(施工账户和会计科目)
{
//在这里插入向量,您最好自己找出如何执行此操作
}
私人:
std::向量m_账户;
};

矢量是对象列表。要创建银行账户向量,您可以使用:

vector<BankAccount> accountList;
其中myBankAccount是BankAccount类的实例

vector类的文档如下所示:


您只需创建一个拥有vector对象的Bank对象,vector对象存储BankAccount对象。

通过代码提供您已达到的目标。提示:
vector
具有模板支持。
class Bank\u account{};类银行{std::vector accounts;}
如果这对你来说太多了,那么去书单上找一本初学者的书。
std::vector and,但是如果没有.1,你就走不了多远。我不认为
add
是vector2的有效语法。如果您关心深度/浅层复制,则可能需要定义复制构造函数。从性能的角度来看,指向对象的向量到指针可能更好。@Bill指针向量的性能是否更好,在很大程度上取决于它的使用方式以及底层对象是否可以移动。对于这样一个仅仅是练习的任务,性能方面完全没有意义(甚至对我们没有责任),因此我认为您的建议是过早优化(或去优化)。如果RAII没有使用指针的重要原因,通常应该始终使用他。对,我编辑以更正添加问题。当然,存储指针比存储对象要好,我想让它非常简单,但实际上,也许我不应该教坏的做法。@paranix是的,我在某种程度上同意。但是,我想指出在向量中分配对象时,深度和浅层复制的问题。为什么我们使用&;正如您在(const Account&acc)中使用的那样@Arshad它只是一个好习惯,因为它可以防止不必要的复制。请注意,帐户至少复制了一次,因为我们必须将其推入向量。我不明白您的意思,请解释more@Arshad不,我不会,读它在一本C++书,我不是你的老师或导师。阅读以下主题:复制构造、RAII、参考文献
vector<BankAccount> accountList;
accountList.push_back(myBankAccount);