最近我有一个面向对象的测试,问题并不那么艰难,但他们给我的信息让我问自己如何使用它。下面是代码和有,我创建测试和看到一些代码(我给的,我创建的代码注释)如何在类中的属性/变量中使用组合类作为矢量类型
#include <iostream>
#include <vector>
using namespace std;
class Account{
protected:
int accno;
double balance;
public:
// I add the initialization part to make the program works
// (In my test they don't provide because there is a question about that)
Account(int accno, double balance) : accno(accno), balance(balance){};
double getBalance();
int getAccno();
void deposit(double amount);
};
class Saving : public Account{
public:
// Same reason as above for initialization
Saving (int accno, double balance) : Account(accno,balance){};
bool withdraw (double amount);
void compute_interest();
// I add this method/function to see how Saving object behave
void print(){
cout << "ID: " << accno << " balance: " << balance << endl;
}
};
class Bank{
int ID;
//Saving accounts2;// If I comment this line I can compile otherwise I can't even create a Bank object
vector<Saving>accounts;// This is the line that I don't know how to make use of it
public:
// The 2 methods/functions below & the attribute/variable "ID" I create to confirm my expectation
void addID(int newID){
ID = newID;
}
void printID(){
cout << "ID: " << ID << endl;
}
void addAccount(Saving account);
void print();
};
int main()
{
Saving s1(1001,500.0);
s1.print();
Bank b1;
b1.addID(1111);
b1.printID();
return 0;
}
所有主要功能里面的代码创建看到输出的样子。
我认为下面的代码是我们如何能够利用的所有类 (但我仍然不知道如何使用,虽然向量)
Saving s1(5000,600.00);
Saving s2(5001,111.11);
Bank b1;
b1.addAccount(s1);
b1.addAccount(s2);
所以我真正想知道的部分是:
- 如何利用这些代码,这样类似 上面的代码的东西都可以使用(或更好的只是使用反推功能 创建新实例,因为它的载体)
////
vector<Saving> accounts;
void addAccount(Saving account);
- 为什么如果创建的我不能编译 “保存accounts2;”
我知道有关的push_back功能,但它只是没有想到要使用@Vicente怎么写的,因为我刚开始编程,所以我只知道如何使用普通类型添加元素而不使用类。 所以我测试一些代码,但我似乎无法弄清楚如何打印帐户 下面是我测试过 '无效addAccount(储蓄账户)' '{ 账户。的push_back(帐户); }' '空隙打印()' '{ COUT << “ACCNO:” <<帐户[0] .accno << “平衡:” <<帐户[0] << .balance ENDL; }' – hafhaf100