これは、教授が自慢した同級生からの正しいコードであり、なぜ二重コンストラクターが必要なのか理解できません。もともと最初の関数しかなく、プロとしての私の進歩に遅れをとっていた2つが必要であることを理解できませんでした
class Studentrecords
{
private:
struct student
{
string name;
string address;
int ID;
double gpa;
};
student *stackArray;
int stackSize;
int top;
public:
Studentrecords();
Studentrecords(int size);
~Studentrecords();
void push(string name, string address, int id, double gpa);
void pop();
bool isFull() const;
bool isEmpty() const;
void display();
};
Studentrecords::Studentrecords(int size)
{
stackArray = new student[size];
top = 0;
}
Studentrecords::Studentrecords()
{
stackSize = 25;
stackArray = new student[stackSize];
top = 0;
}
Studentrecords::~Studentrecords()
{
delete [] stackArray;
}