写一个关于学生的动态数组类
其中还卡了一会儿,因为直接调用了封装好的动态数组类中的private成员不自知,卡了好久。。注意细节吧

#include <bits/stdc++.h>
using namespace std;

class student
{
private:
    int age;
    string name;
    string major;
public:
    student()
    {
        name="none";
        age=-1;
        major="none";
        printf("constructor called\n");
    }
    student(int sa,string sname,string smajor)
    {
         printf("constructor called\n");
        age=sa;
        name=sname;
        major=smajor;
    }
    void setinfo(int sa,string sname,string smajor)
    {
        age=sa;
        name=sname;
        major=smajor;
    }
    void display()
    {
        cout<<"Student's name: "<<name<<endl;
        printf("age: %d \n",age);
        printf("Major: ");
        cout<<major<<endl;
    }
    string getname()
    {
        return name;
    }
    void setname(string nn)
    {
        name=nn;
    }
    string getmajor()
    {
        return major;
    }
    void changemajor(string t)
    {
        major=t;
    }
    ~student()
    {
        printf("DESTRUCTOR CALLED!\n");
    }
};


class arrayofstu
{
public:
    arrayofstu(int ssize):_size(ssize)
    {
        stu1=new student[_size];
    }
    ~arrayofstu()
    {
        printf("deleting....\n");
        delete[] stu1;
    }
    student &element(int t)
    {
        assert(t>=0&&t<_size);
        return stu1[t];
    }

private:
    student *stu1;
    int _size;
};

int main()
{
    int count1;
    printf("please enter the number of student:\n");
    cin>>count1;
    arrayofstu _stu(count1);
    printf("please enter the info of each student\n");
    for(int i=0; i<count1; i++)
    {
        int age;
        string name;
        string major;
        cin>>name>>age>>major;
        _stu.element(i).setinfo(age,name,major);
    }
    printf("please enter the no. and the new major of student who want to change major\n");
    string t;
    int p;
    cin>>p>>t;
    _stu.element(p-1).changemajor(t);
    _stu.element(p-1).display();
    return 0;
}