所以我试图定义一个类,我正在使用另一个不同类的数组来定义它。
//header file for Name.h
class Name {
string last;
string first;
};
//header file for Depositor.h
class Depositor {
Name name;
string ssn;};
//header file for Account.h
class Account {
Depositor depositor;
int acctnum;
string type;
double balance;
};
//header file for Bank.h
#include "Account.h"
class Bank {
Account account[]; //is this possible?
int active_accts;
};
当我编写 cpp 文件时遇到了很多问题!
//example of mutator
void Bank::setLastname(string lastname)
{
account.setLastname (lastname);
}
我没有包含我写入头文件的修改器和访问器,但它们在那里并且是公开的——它不会编译。 你能帮我吗?在 Bank.h 中使用类的数组是否有效?
最佳答案
Is it even valid to use an array of a class in Bank.h?
是的,但它必须有一个固定的尺寸,例如,
Account account[3];
在 C++ 中,类型始终具有固定大小,并且由于数组成员变量构成类大小的一部分,因此您需要指定数组中有多少个元素。
如果您不知道需要多少元素,可以使用序列容器:
std::vector<Account> account;
关于C++ : Using an array in a nested class definition (OOP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011546/