C++类函数继承使用从基类继承的另一个类的变量
C++ Class function inheritance using variable of another class that is inherited from base class
MergeSort运行给定的向量,并通过我的Citizen基类中的适应度变量进行排序。
我想在我的SGA类中使用它来对它的SCitizen(它继承了适应度变量?)做同样的事情;但我不能,因为函数要求公民类型。
是否不能将派生类用于同一函数,因为该函数只使用所有类都将具有的基类的成员?或者我在课程设置中遗漏了什么?
谢谢你的帮助!很抱歉,如果这是重复的;我在这里搜索了一下,然后用谷歌搜索,但一无所获——我甚至不太确定该用谷歌搜索什么。。
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++ 中的继承函数访问派生类中的局部变量
- 继承/多态性 - 我是否被迫使用"protected"变量?
- 继承类中的 C++ 成员变量类型重写
- 对象成员变量还是继承
- 继承构造函数和其他变量的解决方法
- std::exception :使用虚函数和继承与变量
- 如何解决多次继承的不明确变量名称?
- 是否可以在不修改父类的情况下将成员变量初始化推迟到继承的类?
- 为什么继承的函数会更改基类中的成员变量,而不是与名为它的对象同名的对象
- 继承变量不可访问
- C++:使用父类运算符函数更新子类对象的继承变量
- 如何在 Visual Studio 中的窗体之间继承变量,C++
- 类的继承变量和自己的变量之间的差异
- c++类继承变量