gpt4 book ai didi

c++ - QList 指向抽象类的指针函数

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:29 24 4
gpt4 key购买 nike

我觉得问这个问题很愚蠢,因为它看起来很简单,但我不知道该怎么做,而且我在互联网上的任何地方都找不到。我正在尝试创建一个将 QList 返回到标准输出的函数,指向抽象类的指针让我感到困惑。 AbstractStudent 类生成另一个 Student 类的实例。这是函数:

QList<AbstractStudent*>* StudentList::returnList() const{


}

最佳答案

存储抽象类指针的列表将能够存储指向该抽象类的任何子类的指针。

想想以下几点:

AbstractStudent.h:

class AbstractStudent 
{
// ...
};

学生.h:

class Student : public AbstractStudent
{
// ...
};

任何其他类.cpp:

QList< AbstractStudent* > studentList;

// Each of the following works:
AbstractStudent* student1 = new Student( /* ... */ );
studentList.append( student1 );

Student* student2 = new Student( /* ... */ );
studentList.append( student2 );

Student* student3 = new Student( /* ... */ );
AbstractStudent* student3_1 = student3;
studentList.append( student3 );

然而,我对您的最后一句话感到有点困惑,声称 AbstractStudent 生成 Student 对象。我本以为 Student 会继承 AbstractStudent,而其他一些类会生成 Student 对象,就像在我的示例中一样。

关于c++ - QList 指向抽象类的指针函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18910446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com