gpt4 book ai didi

C++类函数继承使用从基类继承的另一个类的变量

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:00 26 4
gpt4 key购买 nike

MergeSort 遍历给定的 vector ,并通过我的 Citizen 基类中的适应度变量进行排序。

我想在我的 SGA 类中使用它来对其 SCitizen 做同样的事情(它继承了适应度变量?);但我不能,因为该函数请求 Citizen 类型。

是否不能对同一个函数使用派生类,因为该函数只使用所有类都将具有的基类的成员?还是我错过了类(class)设置中的某些内容?

感谢您的帮助!对不起,如果这是重复的;我在此处和谷歌上进行了搜索,但一无所获 - 我什至不确定要用谷歌搜索什么......

class Citizen
{
public:
double fitness;

Citizen();
};

class SCitizen : public Citizen
{
public:
std::string code;

SCitizen();
};

class GA
{
public:
std::vector<Citizen>* citizens;
void MergeSort(std::vector<Citizen>* list);
};

class SGA : public GA
{
public:
std::vector<SCitizen>* sCitizens;
void FitnessSort();
};

最佳答案

为了 vector<T>存储Citizen值及其所有子类型,您需要使用 vector<Citizen*> . vector<Citizen>只能存储Citizen值并将切掉任何使用的子类型。

关于C++类函数继承使用从基类继承的另一个类的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9873977/

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