MergeSort運行給定它的向量,並通過我的Citizen基類中的適應性變量進行排序。使用從基類繼承的另一個類的變量的C++類函數繼承
我想在我的SGA類中使用它來完成它的SCitizen(它繼承了適應性變量?)。但是我無法像這個功能請求一個Citizen類型。
對於相同的函數是不可能使用派生類,因爲該函數只使用所有類將具有的基類成員?或者我在課堂設置中錯過了什麼?
感謝您的幫助! 對不起,如果這是重複;我對這裏的搜索和谷歌,但什麼也沒有想出了 - 我甚至不特別肯定google一下..
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();
};
根據您的FitnessSort的實施情況,無法向SCitizen課程中的Citizen提供劇集? – 2012-03-26 14:37:51
FitnessSort只是用sCitizens調用MergeSort(導致我的問題)。 然後,MergeSort將根據Citizen基類中的適應變量對此列表進行排序;但我也需要SCitizen的相關變量.. – user1293210 2012-03-26 15:48:59