C++对象指针应该怎么写!

问题:创建一个对象指针,动态给这个指针分配连续空间构成类似数组的数据结构,数组的元素是学生对象,学生的信息包括学号、姓名和成绩(一门课成绩),在main函数中将数组元素按学生成绩从小到大的顺序排序并显示出来。(学生对象不得少于5个,显示定义构造函数和析构函数,并在里面加上测试语句)
我写的:

#include<iostream>
#include<string>
using namespace std;

class student//声明学生类
{public:
    student() = default;//默认构造函数
    student(string student_name, double student_id, double student_score)//有参构造函数
    {
        name = student_name;
        id = student_id;
        score = student_score;
    }
    ~student()//析构函数
    {
        cout << "student的析构函数调用" << endl;
    }
    void getinfo()//获取信息
    {
        cout << "名字:" << name << "\t学号:" << id << "\t成绩:" << score << endl;
    }
    double getscore()//获取成绩
    {
        return score;
    }
    string name;
    double id;    
    double score;
};

void test01()//测试
{
    student p1("james", 11111, 100);
    p1.getinfo();
}

int main()
{
    //test01();测试语句
    student info[5] = {
       student("小李",111,92),
       student("小张",112,98),
       student("小谭",113,93),
       student("小冉",114,97),
       student("小陈",115,95)
    };
    cout << "五名学生的信息为:" << endl;
    for (int i = 0; i < 5; i++)
    {
        info[i].getinfo();
    }
    cout << "五名学生按照成绩从小到大排列:" << endl;
    for (int j = 0; j < 4; j++)//按成绩从小到大将每名学生的位置交换
    {
        for (int i = 0; i < 4; i++)
        {
            if (info[i].getscore() > info[i + 1].getscore())
            {
                student temp;
                temp = info[i];
                info[i] = info[i + 1];
                info[i + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 5; i++)
    {
        info[i].getinfo();
    }

    system("pause");
    
    return  0;
}

怎么创建对象指针啊!

#include<iostream>
#include<string>
using namespace std;

class student//声明学生类
{
public:
    student() {}//默认构造函数
    student(string student_name, double student_id, double student_score)//有参构造函数
    {
        name = student_name;
        id = student_id;
        score = student_score;
    }
    ~student()//析构函数
    {
        cout << "student的析构函数调用" << endl;
    }
    void getinfo()//获取信息
    {
        cout << "名字:" << name << "\t学号:" << id << "\t成绩:" << score << endl;
    }
    double getscore()//获取成绩
    {
        return score;
    }
    string name;
    double id;    
    double score;
};

void test01()//测试
{
    student p1("james", 11111, 100);
    p1.getinfo();
}

int main()
{
    //test01();测试语句
    student* info = new student[5]; //动态申请5个空间
    info[0] = student("小李",111,92);
    info[1] = student("小张",112,98);
    info[2] = student("小谭",113,93);
    info[3] = student("小冉",114,97);
    info[4] = student("小陈",115,95);


    
    cout << "五名学生的信息为:" << endl;
    for (int i = 0; i < 5; i++)
    {
        info[i].getinfo();
    }
    cout << "五名学生按照成绩从小到大排列:" << endl;
    for (int j = 0; j < 4; j++)//按成绩从小到大将每名学生的位置交换
    {
        for (int i = 0; i < 4; i++)
        {
            if (info[i].getscore() > info[i + 1].getscore())
            {
                student temp;
                temp = info[i];
                info[i] = info[i + 1];
                info[i + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 5; i++)
    {
        info[i].getinfo();
    }

    system("pause");

    return  0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632