在其他类C ++中创建多个对象

时间:2018-03-17 14:31:13

标签: c++ arrays object inheritance

我做了医院课和患者课,所以我要做的是让患者[]患者<这个。但是,显示出一些错误错误:在' ['之前的预期不合格ID代币 我不知道这是什么问题。 感谢您的回复。

class Hospital
{
    public:
        Hospital();
        void determinePatientType();


    protected:

    private:
        Patient[] patients;
        char * fileName;
        int patientCapacity;
        char * hospitalName;
        int totalPatients;
};

1 个答案:

答案 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
}