我做了医院课和患者课,所以我要做的是让患者[]患者<这个。但是,显示出一些错误错误:在' ['之前的预期不合格ID代币 我不知道这是什么问题。 感谢您的回复。
class Hospital
{
public:
Hospital();
void determinePatientType();
protected:
private:
Patient[] patients;
char * fileName;
int patientCapacity;
char * hospitalName;
int totalPatients;
};
答案 0 :(得分:-1)
1-这不是如何声明一个数组:
Patient[] patients;
您必须在标识符之后的下标操作符之前。
Patient patients[size];
2-你必须在编译时指定数组大小,所以:
patient pat[size];
编译时大小必须保持不变。如果您想要动态大小,请考虑使用动态数组。我也建议使用类向量。
要使用动态数组,您应该使用指针:
patient* patients;
你可以分配它:
patients = new patient[size];
你的课程看起来像:
nclude 使用namespace std;
class Hospital{
public:
Hospital(int); // constructor
~Hospital(); // destructor
Hospital();
void determinePatientType();
private:
Patient* patients;
char * fileName;
int patientCapacity;
char * hospitalName;
int totalPatients;
};
Hospital::Hospital(int size){
patients = new Patient[size]; // allocating dynamic memory
// some initialization and processing here
}
Hospital::~Hospital(){
delete[] patients; //freeing up memory
}