C++ 创建指针数组

C++ 创建指针数组,c++,arrays,pointers,C++,Arrays,Pointers,我正在做一个作业,我正在尝试创建一个指向person对象的指针数组,如简介中所述 在main方法中添加代码,使您能够创建3个(或更多)Person 对象,将指向它们的指针存储在指向Person的指针数组中,并对它们进行排序 按字母顺序 然而,我只能创建指向它们的子类的指针,因为我相信您不能实例化抽象类,这是正确的吗?我的代码如下 Person *personArray[3]; //pointers to person objects personArray[0] = new Employee(

我正在做一个作业,我正在尝试创建一个指向person对象的指针数组,如简介中所述

在main方法中添加代码,使您能够创建3个(或更多)Person 对象,将指向它们的指针存储在指向Person的指针数组中,并对它们进行排序 按字母顺序

然而,我只能创建指向它们的子类的指针,因为我相信您不能实例化抽象类,这是正确的吗?我的代码如下

Person *personArray[3]; //pointers to person objects

personArray[0] = new Employee("Bill", 1200);
personArray[1] = new Customer("Steve");
personArray[2] = new Employee("Bill", 1200);
员工和客户是人员的子类

谢谢

使用向量

#include<vector>

class Person{};
class Employee:public Person{};
class Man: public Person{};

int main(int argc,char** argv)
{
    Employee* emp = new Employee;
    std::vector<Person*> people;
    people.push_back(new Employee);
    people.push_back(new Person);
    people.push_back(new Man);
    people.push_back(emp);
    return 0;
}
#包括
类人{};
类别雇员:公众人士{};
班长:公众人物{};
int main(int argc,字符**argv)
{
员工*emp=新员工;
性病患者;
人员。推回(新员工);
人。推回(新的人);
人。推回(新人);
人。推回(emp);
返回0;
}

好吧,你试过编译并运行它吗?你还应该发布你所说的“抽象类”的代码。。。你想按字母顺序排列什么。。人名?根据您列出的要求,这看起来是正确的。如果
Employee
Customer
都是抽象
Person
类的子类,我会这样做。让基类指针指向派生类object没有问题,但请注意,赋值不需要动态分配Person对象。它必须是一个数组,还有,如何按名称对类数组进行排序?